Давайте разберем ваш код и посмотрим, что можно исправить для того, чтобы бот работал корректно.
1. **Импорт библиотеки**: Вы используете библиотеку `disnake`, но также импортируете `discord`. Необходимо использовать только одну библиотеку для вашего бота. Если вы хотите использовать `disnake`, убедитесь, что вы используете соответствующие классы и методы.
2. **Инициализация бота**: В вашем коде отсутствует создание экземпляра бота. Вы должны создать экземпляр бота с правильными параметрами.
3. **Идентификатор канала**: Убедитесь, что `TEXT_ONLY_CHANNEL_ID` является целым числом. Вам нужно удалить кавычки вокруг значения ID.
4. **Работа с командами**: Код в функции `on_message` не вызывает `bot.process_commands(message)`, если сообщение было обработано и удалено, поэтому это может приводить к проблемам при вызове команд.
Вот исправленная версия вашего кода, учитывая вышеупомянутое:
```python
import disnake
from disnake.ext import commands
# Замените строку ID канала на целое число
TEXT_ONLY_CHANNEL_ID = 1339724444985462935
ALLOWED_MESSAGE = "111"
# Инициализация бота с префиксом
bot = commands.Bot(command_prefix="!")
@bot.event
async def on_ready():
print(f'Бот успешно запущен')
@bot.event
async def on_message(message: disnake.Message):
if message.author.bot:
return # Игнорируем сообщения от других ботов
# Проверяем, что сообщение в правильном канале
if message.channel.id == TEXT_ONLY_CHANNEL_ID:
if message.content != ALLOWED_MESSAGE:
await message.delete() # Удаляем сообщение, если оно не совпадает с ALLOWED_MESSAGE
# Позволяем боту обрабатывать команды
await bot.process_commands(message)
# Запуск бота
bot.run("your_token_here") # Замените "your_token_here" на ваш токен
```
### Дополнительные советы:
1. **Проверьте разрешения**: Убедитесь, что у вашего бота есть разрешения на удаление сообщений в канале.
2. **Проверьте токен**: Убедитесь, что вы вставили правильный токен бота.
3. **Настройки канала**: Пусть бот будет добавлен в нужный канал и имеет доступ к нему.
4. **Логирование и отладка**: Вы можете добавить больше отладочной информации, например, выводить каждое сообщение в лог, чтобы видеть, что бот получает.
После внесения этих изменений ваш бот должен начать обрабатывать сообщения и удалять те, которые не совпадают с разрешенным текстом.