смотрю в код и не понимаю в чём проблема, всё вроде верно, бот запускается но на команды не реагирует. суть бота в том что бы создавать и выдавать пользователям роль с любым цветом вот код
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
bot = commands.Bot(command_prefix='/', intents=intents)
@client.event
async def on_ready():
print('Бот успешно запущен')
@client.event
async def Moony(message):
# Проверка, чтобы бот не отвечал на свои собственные сообщения
if message.author == client.user:
return
# Отправка ответа на сообщение
if message.content.startswith('привет'):
await message.channel.send(f'Приветик, {message.author.name}^w^')
if message.content.startswith('создай мне роль'):
await message.channel.send('Хорошо,впиши мне hex-код цвета,в следующем сообщении')
try:
color_hex = message.content.split()[1] # Получаем hex-код цвета из сообщения
color = discord.Color(int(color_hex, 16)) # Конвертируем hex-код в Discord.Color объект
role_name = f"Color {color_hex}"
# Проверяем, есть ли уже такая роль на сервере
existing_role = discord.utils.get(message.guild.roles, name=role_name)
#если роль есть, просто выдаем её пользователю
if existing_role:
await message.channel.send("Такая роль уже существует!")
await message.author.add_roles(role_name)
#иначе создаёт роль и тут же выдаёт её пользователю
else:
new_role = await message.guild.create_role(name=role_name, color=color)
await message.author.add_roles(new_role)
await message.channel.send(f"Роль {new_role.name} создана и назначена вам!")
except IndexError:
await message.channel.send("Ошибка: Необходимо указать hex-код цвета после команды создай мне роль.")
#команда для очистки чата
@client.event
async def чистка(ctx, amount=5):
await ctx.channel.purge(limit=amount)
# Запуск бота
client.run('токен')