discord.py - 将机器人分配给单通道 discord.py
问题描述
我想确保我的机器人仅响应命令/消息并且仅在 1 个特定通道中响应这是否可能我已经尝试了多种变体但没有成功。如果我可以为任何事件定义它,那就更好了。有人有什么想法吗?
解决方案
您可以检查message.channel
事件on_message
,如果它符合您的条件,在这种情况下是特定频道,然后执行process_commands
。
下面是一个示例,其中该!ping
命令仅在channel.name
“通用”时才有效。
from discord.ext import commands
client = commands.Bot(command_prefix='!')
@client.command()
async def ping():
await client.say('Pong')
@client.event
async def on_message(message):
if message.channel.name == 'general':
await client.process_commands(message)
client.run('token')
推荐阅读
- java - javalite 无法找到或加载主类
- reactjs - 为什么没有呈现方法( getUser )?
- javascript - 使用 firebase 发送消息通知
- r - Shiny R 仅绘制滑块范围的极值
- javascript - JavaScript "if X" 然后条件内容替换
- angular - 与开发模式相比,构建模式下的 Angular NgRx 奇怪行为
- cron - 在晚上 10 点到凌晨 1 点之间每 30 分钟轮询文件的 Cron 表达式不起作用
- html - 在屏幕中央开始转换的图标
- list - 批处理:从选择列表中排除某些文件
- java - org.apache.flink.util.FlinkException:释放共享槽父