【发布时间】:2019-12-28 17:31:55
【问题描述】:
昨天我正在做一些简单的事情,一个机器人在!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)
但这完全不起作用,我没有想法,我在这里。
如何将命令发送到给定的特定通道并从那里获得响应?
【问题讨论】:
-
您当前在第二个 sn-p 中的内容是:“如果通道 id 等于 1234567,则定义命令
name”。但这不起作用有两个原因:没有调用函数并且命令应该是顶级函数(即不嵌套)。您是否打算将此“通道限制”也应用于其他命令(不仅仅是“名称”)? -
@TrebledJ 正确,我计划添加可能与
async def name(ctx, args):工作方式相同的 3 个函数,但有些函数会有更多参数等async def birthday(ctx, args, args2):- 但是是的。我也想将“通道限制”应用于其他命令。 :)
标签: python discord discord.py