Выполнение команды только в одном канале
Есть такая задача, что необходимо выполнять команду только в одном канале. Например:
Канал №1 и №2. В первом канале ничего не происходит при её исполнении, а во втором она выполняется.
Есть часть кода:
@commands.has_permissions(administrator=True)
async def startvote(ctx, arg):
emb = discord.Embed(title=f'Начато голосование на ивент',
description='Ивент: ' + str(arg),
colour=discord.Color.purple())
message = await ctx.send(embed=emb) # Возвращаем сообщение после отправки
await message.add_reaction('✅')
await message.add_reaction('❌')
print('>>Sent message about voting of event. Name of event: ' + str(arg))
Ответы (1 шт):
Автор решения: OB1CHAM
→ Ссылка
Можно сделать, чтобы бот игнорировал канал №1
@client.event
async def on_message(message):
if message.channel.id == ID: # ID канала, который будем игнорировать
return
await client.process_commands(message)
@client.command( pass_context = True )
@commands.has_permissions(administrator=True)
async def startvote(ctx, *, arg):
emb = discord.Embed(title=f'Начато голосование на ивент',
description='Ивент: ' + str(arg),
colour=discord.Color.purple()
)
message = await ctx.send(embed=emb)
await message.add_reaction('✅')
await message.add_reaction('❌')
print('>>Sent message about voting of event. Name of event: ' + str(arg))