Задать вопрос
@Krosrs

TG бот python помощь?

Проблема запускаю бота появляется такая ошибка, а что в токене и канал айди пустой я специально удалил здесь оно не пустое!

import asyncio
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.types import Message
from aiogram.filters import Command
from aiogram.enums import ParseMode

TOKEN = ""
CHANNEL_ID = "@="  
ADMIN_ID = 1111111

bot = Bot(token=TOKEN, parse_mode=ParseMode.HTML)
dp = Dispatcher()

# Функция проверки подписки
async def check_subscription(user_id):
    try:
        chat_member = await bot.get_chat_member(CHANNEL_ID, user_id)
        return chat_member.status in ["member", "administrator", "creator"]
    except:
        return False

# Команда /start
@dp.message(Command("start"))
async def start_cmd(message: Message):
    text = (
        f"Привет, {message.from_user.full_name}! \n\n"
        "Меня зовут "", и я специалист по недвижимости! \n"
        "Подписывайтесь на мой канал, чтобы получить полезную информацию!\n\n"
        "✅ <b>Что вы получите от сотрудничества со мной?</b>\n"
        "• Квартиру мечты – у меня обновляется список квартир каждый день!\n"
        "• Безопасную и выгодную сделку без рисков.\n"
        "• Экономию времени и нервов – все хлопоты беру на себя.\n"
        "• Максимальную выгоду от продажи или сдачи вашей недвижимости.\n\n"
        " <b>Как я работаю?</b>\n"
        "• Выясняю ваши цели и желания (оффлайн или онлайн консультация).\n"
        "• Анализирую рынок, цены и конкуренцию.\n"
        "• Создаю стратегию поиска или продажи объекта.\n"
        "• Продвигаю недвижимость, чтобы достичь сделки.\n"
        "• Отчитываюсь о проделанной работе и дальнейших действиях.\n\n"
        "⏳ <b>Сроки выполнения</b>\n"
        "Нужна недвижимость срочно? Я готова помочь в кратчайшие сроки!\n\n"
        " <b>Гарантии</b>\n"
        "Официальный договор и оплата только по факту сделки.\n\n"
        " <b>ЖМИТЕ кнопку ниже</b>, и я БЕСПЛАТНО проанализирую рыночную стоимость вашей квартиры!\n\n"
        "Чтобы записаться на бесплатную консультацию, подпишитесь на мой канал:"
    )
    
    keyboard = types.InlineKeyboardMarkup()
    btn_subscribe = types.InlineKeyboardButton("✅ Подписаться", url=f"https://t.me/{CHANNEL_ID.lstrip('@')}")
    btn_check = types.InlineKeyboardButton(" Проверить подписку", callback_data="check_sub")
    keyboard.add(btn_subscribe)
    keyboard.add(btn_check)
    
    await message.answer(text, reply_markup=keyboard)

# Проверка подписки
@dp.callback_query(lambda c: c.data == "check_sub")
async def check_sub(callback_query: types.CallbackQuery):
    user_id = callback_query.from_user.id
    user_name = callback_query.from_user.full_name

    if await check_subscription(user_id):
        # Отправка уведомления тебе
        await bot.send_message(ADMIN_ID, f" Новый подписчик!\n {user_name} записался на консультацию.")
        
        await callback_query.message.answer("✅ Спасибо за подписку! Вы записаны на бесплатную консультацию. Я свяжусь с вами в ближайшее время!")
    else:
        await callback_query.message.answer("❌ Вы еще не подписаны! Подпишитесь и нажмите кнопку ещё раз.")

# Запуск бота
async def main():
    logging.basicConfig(level=logging.INFO)
    await dp.start_polling(bot)

if __name__ == "__main__":
    asyncio.run(main())


А ошибка вот эта

Traceback (most recent call last):
  File "d:/Программирование/bot.py", line 12, in <module>
    bot = Bot(token=TOKEN, parse_mode=ParseMode.HTML)
  File "C:\Users\днс\AppData\Local\Programs\Python\Python38\lib\site-packages\aiogram\client\bot.py", line 304, in __init__
    raise TypeError(
TypeError: Passing `parse_mode`, `disable_web_page_preview` or `protect_content` to Bot initializer is not supported anymore. These arguments have been removed in 3.7.0 version. Use `default=DefaultBotProperties(parse_mode=<ParseMode.HTML: 'HTML'>)` argument instead.
  • Вопрос задан
  • 39 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi
лужу, паяю, ЭВМы починяю
Очень просто: нейросеть, которая набредила этот фрагмент кодоподобного текста, обучалась на кодах со старой версией библиотеки. Теперь библиотека новой версии, и оно об этом не подозревает. Вам надо почитать документацию по новой библиотеке и переписать фрагменты вашего «кода» под новую версию. И API почитать. И код библиотеки.

Или попробовать использовать старую библиотеку, может повезти и «текст, неотличимо похожий на код», заработает как код…
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы