nastexe
@nastexe

Как реализовать работу бота на нескольких серверах Discord с вводом команды?

Речь идёт именно о “запоминании” данных, которые будут введены в команду.

@bot.command()
async def explosion_channel(ctx: discord.ApplicationContext, id_channel, id_role):
               
    global channel_id
    global role
    """Введите ID канала и ID роли"""    
    channel_id = int(id_channel)
    role = int(id_role)
    await ctx.respond('Канал принят!')
    await asyncio.sleep(3)
    await ctx.delete()

То есть при отправке команды запоминается ID канала, в которое будет отправляться сообщение, и роль, которая будет упоминаться. Проблема заключается в том, что при отправке команды на разных серверах, информация естественно перезаписывается и бот не работает так, как должен. Была попытка сделать проверку через

def check(msg):
    return msg.author == ctx.author and msg.channel == ctx.channel

но после ввода команды на втором сервере появляется ошибка отправки.

Не хотелось бы использовать базу данных, потому что планировался простой бот с API для отправки уведомлений с возможностью добавления бота на свой сервер.
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Как реализовать работу бота на нескольких серверах Discord с вводом команды?
Использовать базу данных. Удалить все глобалы.
Не хотелось бы использовать базу данных
А придется.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы