Я хочу убедиться, что мой бот отвечает только на команды / сообщения и отвечает только на 1 конкретный канал. Возможно ли, что я пробовал несколько вариантов, но безуспешно. даже лучше, если бы я мог определить это для любого события. У кого-нибудь есть идеи?
назначение бота для одноканального 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')
person
Benjin
schedule
30.04.2018