第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Discord.py 文本通道檢查

Discord.py 文本通道檢查

蕪湖不蕪 2023-05-09 16:06:29
@client.command(aliases=["logchannel, setlog"])@commands.has_permissions(manage_messages=True)async def log(ctx, *args: discord.TextChannel):    with open("configs/channels.json", "r") as f:        channels = json.load(f)    channel = channels.get(str(ctx.guild.id), ctx.channel.id)    if len(args) == 0:        await ctx.send("Which channel should I set the logs? :thinking:")    elif args[0] != discord.TextChannel:        await ctx.send("That is not a valid channel!")    elif args[0] == discord.TextChannel:        with open("configs/channels.json", "w") as f:            json.dump(channels, f, indent=4)        embed = discord.Embed(title="Log channel set! :white_check_mark:",                              description=f"**{channel}** has been set as logs channel!",                              color=0x2f3136)        await ctx.send(embed=embed)所以我的這部分代碼是為使用 JSON 設(shè)置日志通道而制作的。json 部分工作正常,因?yàn)槲以谄渌麕讉€命令中使用過它。但它看不到是否提供了有效的頻道。據(jù)我所知,它應(yīng)該是,discord.TextChannel但事實(shí)并非如此。該if len(args) == 0部分有效,但其他部分無效。我怎樣才能使這項(xiàng)工作?我應(yīng)該放什么而不是discord.TextChannel?
查看完整描述

3 回答

?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個贊

一種更精確的方法是使用TextChannelConverter它在提供 ID/名稱/提及時(shí)返回通道,而不僅僅是名稱

from discord.ext import commands


async def log(ctx, *, args=None):

? ? if not args:

? ? ? ? await ctx.send("Please provide the channel to set the logs")

? ? ? ? return

? ? try:

? ? ? ? channel = await commands.TextChannelConverter().convert(ctx, args)

? ? except:

? ? ? ? return await ctx.send("Channel Not Found")

? ? #channel is not a TextChannel object, save its ID or send or whatever you want to do


查看完整回答
反對 回復(fù) 2023-05-09
?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個贊

我認(rèn)為它可以基于此工作。


    @commands.command()

    async def test(self, ctx, channel=None):


        channel2 = self.client.get_channel(id=int(channel))


        if type(channel2) != discord.channel.TextChannel:

            await ctx.send('Please do not enter an audio channel')


        else:

            await ctx.send('Perfect.')


查看完整回答
反對 回復(fù) 2023-05-09
?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個贊

Return 只是結(jié)束您可以使用它而不是 if 語句的函數(shù)。我不知道使用的是什么 JSON 文件,我希望這會有所幫助


async def log(ctx, *, args=None):

    if not args:

        await ctx.send("Which channel should I set the logs? :thinking:")

        return


    for channel in ctx.guild.channels:

        if channel.name == args:

            await ctx.send('Found your channel')

            # channel is now an object, you can do what you want here

            await channel.send('This is the channel wanted')

            return


    await ctx.send("Can't find your channel")


查看完整回答
反對 回復(fù) 2023-05-09
  • 3 回答
  • 0 關(guān)注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號