#python-3.x #discord.py
Вопрос:
Странно то, что у меня даже нет 343 строк кода, у меня всего около 30, так что я действительно не уверен, почему это происходит
Ошибка :
Ignoring exception in on_message
Traceback (most recent call last):
File "C:UsersaiosdjPycharmProjectsnerdeyesvenvlibsite-packagesdiscordclient.py", line 343, in _run_event
await coro(*args, **kwargs)
File "C:/Users/aiosdj/PycharmProjects/nerdeyes/main.py", line 28, in on_message
await bot.send_message(message.channel, msg)
AttributeError: 'Bot' object has no attribute 'send_message'
Код :
import asyncio
from discord.ext import commands
bot = commands.Bot(command_prefix='.nerd ', description = 'nerd eyes')
@bot.event
async def on_ready():
guild_count = 0
for guild in bot.guilds:
print(f"- {guild.id} (name: {guild.name})")
guild_count = guild_count 1
print('Nerdeyes has awoken in ' str(guild_count) " servers")
@bot.event
async def on_message(message):
if message.author == bot.user:
return
if message.content.startswith('.nerd'):
msg = 'eyes'.format(message)
await bot.send_message(message.channel, msg)
bot.run("TOKEN")
Ответ №1:
Bot.send_message
не существует, о чем также говорит ваша ошибка. Вам нужно что — то , что реализует Messageable
, например Channel
, User
, или Member
-и метод называется send
, нет send_message
. Быстрый просмотр документов API для Bot
также показывает, что этот метод нигде не найден. Как правило, неплохо сначала проверить, существует ли метод, прежде чем использовать его.
await message.channel.send(msg)
Кроме того, msg = 'eyes'.format(message)
— .format
здесь вообще ничего не делается, это то же самое, что просто 'eyes'
.
У меня даже нет 343 строк кода
Ошибка говорит, что это происходит в venvlibsite-packagesdiscordclient.py строка 343, а не ваш файл. Это строка в библиотеке Discord, которую вызывает ваш код, поэтому в тот или иной момент один из этих методов аварийно завершит работу. Строка ниже в ошибке говорит, из какой вашей строки она взята (28).
ps. Вы только что слили свой токен бота, сгенерируйте новый.