Задать вопрос
  • Как сделать так, чтобы бот выдавал роли не только мне, но и участникам сервера по запросу?

    @ah0R Автор вопроса
    Нашел решение задачи самостоятельно(основной)

    Надо было ctx заменить на res, чтобы он реагировал именно на нажатие, а не на того, кто создал сообщение
    res = await bot.wait_for('button_click')
                current_time = datetime.now().time()
                member = res.guild.get_member(res.user.id)
                role = res.guild.get_role(792385427679477790)
                rolex = res.guild.get_role(792399225459310613)
                channel = res.guild.get_channel(880840475312001065)
                log = discord.Embed(title = 'Получил Роль', description = '**Участник** \n' '<@%d>' % (res.author.id), colour = 0x00FF00)
                log.set_footer(text = "Сегодня в %d:%d" % (current_time.hour, current_time.minute))
                if res.component.label.startswith("Стать другом Monro!"):
                    await res.respond(content="Поздравляю, тебе выданы роль <@&792385427679477790> и <@&792399225459310613>!")
                    await res.author.add_roles(role, rolex)
                    await channel.set_permissions(ctx.author, overwrite = discord.PermissionOverwrite(view_channel = True, send_messages = True))
                    await channel.send(
                          embed = log)


    Но проблема с
    Так же иногда вылетает "Ошибка взаимодействия"
    осталась :(
    Ответ написан
    Комментировать