无法仅针对特定频道发出命令
Can't Make A Command Only For specific Channel
Disocord.py重写
错误:否
下面的命令没有按预期工作
@bot.event
async def on_message(message):
x = (559253532759425044)
er = bot.get_channel(559253532759425044)
if not message.channel.id != x:
return
else:
if "p/" in message.content.lower():
await message.channel.send('Write this command in {}'.format(er.mention))
p/是bots前缀,上面这段代码告诉(把这个命令写成{}'.format(er.mention)) 当在正确的通道中使用 p/ 时,机器人什么也没说,但我使用任何命令,如 p/help 它不起作用。实际上该事件应该允许成员仅在指定的频道中使用机器人命令(@bot.command)而不是任何其他频道但事情是没有命令在指定的频道或服务器的任何频道中工作.任何帮助都会很棒 :) 编辑:(指定我的问题并使其清楚一点)
编辑:
从评论中,您可能实际上想要
@bot.event
async def on_message(message):
cmdChannel = bot.get_channel(559253532759425044)
if message.content.lower().startswith('p/'):
if message.channel.id == cmdChannel.id:
#command invoked in command channel - execute it
await bot.process_commands(message)
else:
#command attempted in non command channel - redirect user
await message.channel.send('Write this command in {}'.format(cmdChannel.mention))
Disocord.py重写
错误:否
下面的命令没有按预期工作
@bot.event
async def on_message(message):
x = (559253532759425044)
er = bot.get_channel(559253532759425044)
if not message.channel.id != x:
return
else:
if "p/" in message.content.lower():
await message.channel.send('Write this command in {}'.format(er.mention))
p/是bots前缀,上面这段代码告诉(把这个命令写成{}'.format(er.mention)) 当在正确的通道中使用 p/ 时,机器人什么也没说,但我使用任何命令,如 p/help 它不起作用。实际上该事件应该允许成员仅在指定的频道中使用机器人命令(@bot.command)而不是任何其他频道但事情是没有命令在指定的频道或服务器的任何频道中工作.任何帮助都会很棒 :) 编辑:(指定我的问题并使其清楚一点)
编辑:
从评论中,您可能实际上想要
@bot.event
async def on_message(message):
cmdChannel = bot.get_channel(559253532759425044)
if message.content.lower().startswith('p/'):
if message.channel.id == cmdChannel.id:
#command invoked in command channel - execute it
await bot.process_commands(message)
else:
#command attempted in non command channel - redirect user
await message.channel.send('Write this command in {}'.format(cmdChannel.mention))