Scripteer
@Scripteer
Веб дизайнер, интересуюсь python, знаю html,css +-

Как правильно поступить?

Короче вот код, первое это бот для дискорд он должен отвечать на слова привет и тд, следущая функция embed по команде .help, но проблема в том что либо слова не работают либо .help я просто новичок и не знаю как поступить, но .help начинает работать когда у слов я забираю @client.event
import discord
from discord.ext import commands

client = commands.Bot( command_prefix = '.' )
client.remove_command( 'help' )

hello_words = [ 'привет','pidor','пр','хай','ку' ]
answer_words = [ 'узнать информацию о сервере']


@client.event

async def on_ready():
	print ( 'BOT connected' )

@client.event

async def on_message( message):
	msg = message.content.lower()

	if msg in hello_words:
		await message.channel.send( 'привет чего хотел?' )
	if msg in answer_words:
		await message.channel.send( 'пропиши .help' )

	await client.change_presence( status = discord.Status.online, activity = discord.Game( 'Деградацию'))

# co
@client.command( pass_context = True )

async def help( ctx ):
	emb = discord.Embed( color=0xDB952B, title= 'Привет')
	emb.add_field(name = 'Название строки', value = 'Описание строки', inline=False)
	emb.add_field(name = 'Следущая строка', value = 'Описание следущой строки', inline=False)
	await ctx.send( embed=emb )


token = open('C:/Users/spamm/Desktop/server/token.txt', 'r').readline()

client.run( token )
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
SoreMix
@SoreMix
yellow
Много раз уже отвечали на подобный вопрос, в документации тоже есть
https://discordpy.readthedocs.io/en/latest/faq.htm...

Overriding the default provided on_message forbids any extra commands from running. To fix this, add a bot.process_commands(message) line at the end of your on_message.


В самый конец on_message добавить
await bot.process_commands(message)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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