@badtrippp1

Не работает код(бот дискорда)?

Не работает функция help. И не могу понять как сделать префикс в списке.

Код:

import discord
from discord.ext import commands
from script import settings

prefix = settings['PREFIX']
client = commands.Bot(command_prefix = settings['PREFIX'])
client.remove_command('help')

#List
hello_words = ['{}Hello!','{}Hello','{}hello','{}hello!','{}Привет!','{}Привет','{}привет','{}привет!'.format(prefix)]

@client.event

#start bot
async def on_ready():
    print('bot connected')

@client.event

#auto msg
async def on_message(message):
    msg = message.content.lower()
    if msg in hello_words:
        await message.channel.send(f'Приветики!, {message.author.mention}')

#help
async def help(ctx):
    emb = discord.Embed(title="Помошь", description = "Мои команды", colour=discord.Color.blue())
    emb.set.author(name = ctx.author.name, icon_url = ctx.author.avatar_url)
    emb.add_field(value = f'`{prefix}ping `{prefix}vk` `{prefix}instagram')
    emb.set_thumbnail(url=client.user.avatar_url)
    emb.set_footer( icon_url = client.user.avatar_url, text = f"{settings['OWNER NAME']} ©" )
    await ctx.send(embed=emb)

client.run('токен')
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Во-первых, ты подставляешь prefix только в последний элемент списка hello_words.
Во-вторых, ты делаешь client.remove_command('help') и жалуешься, что не работает команда help. Твой собственный метод help() не декорирован как команда или событие.
В-третьих, почему не использовать существующий фреймворк для команд?

from discord.ext import commands
hello_words = ['привет', 'hello', 'прив']

@commands.command(name=hello_words[0], aliases=hello_words[1:])
async def hello_command(ctx):
    pass #делаешь что хочешь
Ответ написан
Ваш ответ на вопрос

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

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