ошибка введите корректный числовой код discord когда я пытаюсь ввести айди канала в слэш команду

import disnake
import asyncio
import os
from disnake.ext import commands
from telegram.ext import Application

DISCORD_TOKEN = "тут токен"

TRACKED_CHANNELS_FILE = "tracked_channels.txt"
TRACKED_CHANNELS = []

# Функция для загрузки отслеживаемых каналов из файла
def load_tracked_channels():
    if os.path.exists(TRACKED_CHANNELS_FILE):
        with open(TRACKED_CHANNELS_FILE, "r") as f:
            return [int(line.strip()) for line in f.readlines() if line.strip().isdigit()]
    return []

# Функция для сохранения канала в файл
def save_tracked_channel(channel_id: int):
    with open(TRACKED_CHANNELS_FILE, "a") as f:
        f.write(f"{channel_id}\n")

# Функция для удаления канала из списка и файла
def remove_tracked_channel(channel_id: int):
    global TRACKED_CHANNELS
    TRACKED_CHANNELS = [ch for ch in TRACKED_CHANNELS if ch != channel_id]
    with open(TRACKED_CHANNELS_FILE, "w") as f:
        for ch in TRACKED_CHANNELS:
            f.write(f"{ch}\n")

# Загружаем отслеживаемые каналы
TRACKED_CHANNELS = load_tracked_channels()

app = Application.builder().token(TELEGRAM_TOKEN).build()

intents = disnake.Intents.default()
intents.messages = True
intents.message_content = True
bot = commands.Bot(command_prefix="!", intents=intents)

@bot.event
async def on_ready():
    print(f"✅ Бот {bot.user} запущен и работает!")

# Команда для добавления канала в список
@bot.slash_command(description="Добавить канал в список отслеживаемых")
async def add_channel(inter: disnake.ApplicationCommandInteraction, channel_id: disnake.TextChannel):
    channel_id_int = channel_id.id  # Получаем ID канала как int

    if channel_id_int not in TRACKED_CHANNELS:
        TRACKED_CHANNELS.append(channel_id_int)
        save_tracked_channel(channel_id_int)
        await inter.response.send_message(f"✅ Канал <#{channel_id_int}> добавлен в список отслеживаемых.", ephemeral=True)
    else:
        await inter.response.send_message(f"⚠️ Канал <#{channel_id_int}> уже отслеживается.", ephemeral=True)

# Команда для удаления канала из списка
@bot.slash_command(description="Удалить канал из списка отслеживаемых")
async def remove_channel(inter: disnake.ApplicationCommandInteraction, channel_id: disnake.TextChannel):
    channel_id_int = channel_id.id  # Получаем ID канала как int

    if channel_id_int in TRACKED_CHANNELS:
        remove_tracked_channel(channel_id_int)
        await inter.response.send_message(f"✅ Канал <#{channel_id_int}> удален из списка отслеживаемых.", ephemeral=True)
    else:
        await inter.response.send_message(f"⚠️ Канал <#{channel_id_int}> не найден в списке.", ephemeral=True)

bot.run(DISCORD_TOKEN)

Ответы (0 шт):