web-dev-qa-db-ja.com

discord.py - 特定のチャネルにメッセージを送受信する方法

昨日私は!name Bartyのボットのコマンドが印刷された場所に取り組んでいましたHello Barty

@bot.command()
async def name(ctx, args):
    await ctx.send("hello {}".format(args)

しかし、私がこの瞬間に直面している問題は、ボットが私が!name XXXXを使っていて、私がやろうとしているのは私が不和の特定のチャンネルに反応することだけが反応したいということです。

私はやろうとしました:

@bot.event
async def on_message(message):

    if message.channel.id == 1234567:

        @bot.command()
        async def name(ctx, args):
            await ctx.send("hello {}".format(args)

しかし、それは完全に働いていませんでした、そして私はアイデアから外れています、そしてここで私はいます。

特定の特定のチャンネルにコマンドを送信し、そこから返信を取り戻すことができますか?

4
Thrillofit86

ヘルプここにヘルプ!

bot = commands.Bot(command_prefix='$')

class MyClient(discord.Client):
  async def on_ready(self):
    guild = discord.utils.get(client.guilds, name=GUILD)

    print(
        f'{client.user} is connected to the following guild:\n'
        f'{guild.name}(id: {guild.id})\n'
    )

  @bot.command()
  async def name(self, ctx, arg):
    await ctx.send(arg)
 _

$ NAME TESTを使用して電話しようとしていますが、その作業

0
kybrdbnd

message.Channel.IDは、文字列ではなく整数である必要があるため、「 '」を使用する必要はありません。

    if (message.channel.id == 1234567): 
      await message.channel.send('message goes here')

  else:
    # handle your else here, such as null, or log in to ur terminal
 _
0
Emil Sležis