XmurCat
@XmurCat
начинающий програмист

Как мне можно ввести команду ну @client.command() чтобы он не выдовал ошибку но ивенты работали?

код вот
import discord

client = discord.Client()

@client.event
async def on_ready():
    print('бот {0.user} загрузился'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('привет'):
        await message.channel.send(f'{ message.author.mention }привет!')
@client.event
async def on_message(message):
    if message.content.startswith('мой профиль!'):
        emb = discord.Embed(title="Информация о пользователе", color=0x00ff00)
        emb.add_field(name="Имя:", value=f"{message.author.display_name}",inline=False)
        emb.add_field(name="Айди пользователя:", value=f"{message.author.id}",inline=False)
        emb.add_field(name="Роль на сервере:", value="твоя мамаша",inline=False)
        emb.add_field(name="Акаунт был создан:", value=message.author.created_at.strftime("%a ,%#d %B %Y ,%I:%M%pUTC") ,inline=False)
        emb.set_thumbnail(url=message.author.avatar_url)
        await message.channel.send(embed=emb)
@client.command()
async def test(ctx):
    member = ctx.message.author
    role_1 = member.guild.get_role(15171165410)# ади роли которую будет получать юзер
    await member.add_roles(role_1)
client.run('токен')
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
1. Почему два обработчика on_message? Должен быть один.

2. client.command - метод класса не discord.Client, а discord.ext.commands.Bot. Перепиши на этот класс - он наследует discord.Client и все его методы поддерживает.

3. При наличии on_message команды сломаются, его или убрать, или правильно добавить обработку команд, см. https://discordpy.readthedocs.io/en/latest/faq.htm...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы