Помогите с диснейк
import disnake
from disnake.ext import commands
bot = commands.Bot(command_prefix="n.", help_command=None, intents=disnake.Intents.all())
BAD_WORDS = ['Fuck']
@bot.event
async def on_ready():
print("Bot is online!")
@bot.event
async def on_member_join(member):
role = await disnake.utils.get(guild_id=member.guild.id, role_id=1260954402509029469)
channel = member.guild.system_channel()
embed = disnake.embed(
title = 'Welcome',
describtion = f"{member_name}"
)
await member.add_roles(role)
await channel.send(embed=embed)
@bot.event
async def on_message(message):
for content in message.content.split():
for bad_words in BAD_WORDS:
if content == bad_words:
await message.delete()
await message.channel.send(f'{message.author.mention}Are you stupid? Dont use ban bad words')
Мне пишет:
await coro(*args, **kwargs)
File "C:\Users\user\Desktop\Дискорд боты\nostra.py", line 34, in on_message
await message.channel.send(f'{message.author.mention}Are you stupid? Dont use ban bad words')
^^^^^^^^^^^^
AttributeError: 'Message' object has no attribute 'send'
Ответы (1 шт):
Автор решения: Sterrka
→ Ссылка
on_message()
принимает аргумент типа disnake.Message
, поэтому вам выдаётся ошибка AttributeError
.
Попробуйте получить канал и именно через него вызывать метод send()
:
await message.delete()
channel = bot.get_channel(message.channel.id)
await channel.send(f'Ваш текст')