Discord py добавить роль в сообщении

#python #discord.py

Вопрос:

Я пытался создать команду, которая добавляет роль пользователю, когда он/она говорит по определенному каналу. Затем роль отключает пользователя, превращая его в канал с одним сообщением.

Код:

 @client.event
async def on_message(message):
    if message.channel.name == '💻・message-archive':
        await client.process_commands(message)
    elif "" in message.content:
        role = discord.utils.get(message.guild.roles, name="one message")
        await message.author.add_roles(role)
    await client.process_commands(message)
 

Проблема в том, что он добавляет роль в ЛЮБОМ канале. Я хочу, чтобы он использовался только на 1 канале.

Я пробовал использовать if и else if , но это не сработало.

Ответ №1:

Просто проверьте, является ли имя/идентификатор канала правильным:

 if channel.id == 182739817283172:
    await message.author.add_roles(role)
 
 if channel.name == "whatever":
   await message.author.add_roles(role)