Помогите переписать на аиограм последней версии (гпт не умеет)

ervinbek

Известный
Автор темы
242
74
ТГ-бот:
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, ChatMember

from telegram.ext import Updater, CommandHandler, CallbackContext, ConversationHandler, CallbackQueryHandler

from telegram.ext import MessageHandler, Filters

import os



TELEGRAM_TOKEN = "Пошелнахуй"



updater = Updater(token=TELEGRAM_TOKEN, use_context=True)

dp = updater.dispatcher



movie_database = {

    #Тут будут ссылки



# Conversation states

SUBSCRIBED, ENTER_CODE = range(2)



def start(update: Update, context: CallbackContext) -> int:

    user = update.message.from_user

    chat_id, user_id, channel_id = update.message.chat_id, user.id, -****

    chat_member = context.bot.get_chat_member(chat_id=channel_id, user_id=user_id)



    if chat_member.status in [ChatMember.MEMBER, ChatMember.ADMINISTRATOR, ChatMember.CREATOR]:

        # User is already subscribed, prompt for the movie code

        update.message.reply_text("Введите код фильма.\nP.S Коды находятся либо на нашем TikTok аккаунте, либо на подписанном канале")

        return ENTER_CODE

    else:

        # User is not subscribed, provide a message and request subscription

        message_text = f"Привет, {user.first_name}! Подпишитесь на наш канал: https://t.me/KEFilmChannel\nТакже хочу напомнить, что бот находится на стадии BETA. Если вы столкнулись с ошибкой, пожалуйста, сообщите по контактам в описании бота!"

        update.message.reply_text(message_text, disable_web_page_preview=True)

        return SUBSCRIBED



def handle_code(update: Update, context: CallbackContext) -> int:

    chat_id, user_id, channel_id = update.message.chat_id, update.message.from_user.id, -*******



    try:

        chat_member = context.bot.get_chat_member(chat_id=channel_id, user_id=user_id)

        if chat_member.status in [ChatMember.MEMBER, ChatMember.ADMINISTRATOR, ChatMember.CREATOR]:

            movie_code = update.message.text

            if movie_code in movie_database:

                movie_info = movie_database[movie_code]

                update.message.reply_text(f"Приятного просмотра!")

                update.message.reply_text(f"Название фильма: {movie_info['title']}")

                keyboard = [

                    [InlineKeyboardButton("Смотреть", url=movie_info['link1']),

                     InlineKeyboardButton("ЗЕРКАЛО", url=movie_info['link2'])]

                ]

                reply_markup = InlineKeyboardMarkup(keyboard)

                update.message.reply_text("Выберите ссылку на сайт:", reply_markup=reply_markup)



                # Add a message for searching new movies

                update.message.reply_text("Для поиска новых фильмов просто повторно введите код.\nP.S Коды находятся либо на нашем TikTok аккаунте, либо на подписанном канале")

            else:

                update.message.reply_text("Фильм с таким кодом не найден. Введите правильный код.\nP.S Коды находятся либо на нашем TikTok аккаунте, либо на подписанном канале")

        else:

            update.message.reply_text("Чтобы получить ссылки, подпишитесь на канал: ***** . Не пытайтесь обмануть бота. Подпишись, затем нажми на /start",

                                      disable_web_page_preview=True)

    except Exception as e:

        # Log the specific exception details

        update.message.reply_text(f"Произошла ошибка. Повторите попытку позже. ({e})")



    return ENTER_CODE



if __name__ == '__main__':

    dp.add_handler(CommandHandler('start', start))

    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, handle_code))

    updater.start_polling()

    updater.idle()

Помогите переписать на аиограм последней версии (гпт не умеет)
буду вам благодарен​