- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
ошибка введите корректный числовой код 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)