Тема: Проблема з написанням бота aiogran 3.x
У мене в admin_panel.py є дві команди /add_chat та /add_channel.
Лиш не можу зрозуміти одну річ, чомуда /add_channel обробляється, а /add_chat не хоче працювати
from aiogram import Bot, Router, F
from aiogram.types import Message
from aiogram.filters import Command
from config import TOKEN, ADMIN_IDS
from db_manager import db
bot = Bot(token=TOKEN)
admin_router = Router()
@admin_router.message(Command(commands=["add_chat"]), F.chat.type == "private", F.from_user.id.in_(ADMIN_IDS))
async def add_chat(message: Message):
args = message.text.split()[1:]
if not args:
await message.answer("Використовуйте команду у форматі: /add_chat <посилання на чат>")
return
chat_link = args[0]
if chat_link.startswith("https://телеґрам/"):
chat_username = chat_link.split('/')[-1]
try:
chat = await bot.get_chat(chat_username)
db.add_chat(chat_link, "@" + chat.username, chat.id)
await message.answer(f"Чат {chat_link} додано з ID {chat.id}")
except Exception as e:
await message.answer(f"Помилка при додаванні чату: {e}")
else:
await message.answer("Надано некоректне посилання на чат.")
@admin_router.message(Command(commands=["add_channel"]), F.chat.type == "private", F.from_user.id.in_(ADMIN_IDS))
async def add_channel(message: Message):
args = message.text.split()[1:]
if len(args) < 2:
await message.answer("Використовуйте команду у форматі: /add_channel <посилання на канал> <посилання на чат>")
return
channel_link, chat_link = args
try:
chat_username = chat_link.split('/')[-1]
chat = await bot.get_chat(chat_username)
chat_id = chat.id
channel_username = channel_link.split('/')[-1]
channel = await bot.get_chat(channel_username)
channel_id = channel.id
db.add_channel(channel_link, "@" + channel.username, channel_id)
db.link_channel_to_chat(chat_id, channel_id)
await message.answer(f"Канал {channel_link} додано та прив'язано до чату {chat_link}")
except Exception as e:
await message.answer(f"Помилка при додаванні каналу: {e}")
Можу прислати ввесь код якщо потрібно