@PaffosONE

Возникла проблема с Telegram Bot как решить?

Пожалуйста подскажите , столкнулся с такой проблемой, хочу написать вывод баланса пользователя, хотел реализовать так:
У пользователя появляется что-то вроде этого:
item_qiwi = telebot.types.InlineKeyboardButton(text='QIWI',callback_data='payment_object_qiwi')
item_yandex_money = telebot.types.InlineKeyboardButton(text='Ю.Money',callback_data='payment_object_yandex_money')
item_market = telebot.types.InlineKeyboardButton(text='Маркет',callback_data='payment_object_market')

item_return_menu = telebot.types.InlineKeyboardButton(text='Отменить',callback_data='payment_object_return_to_menu')

self.bot.send_message( message.chat.id ,'Выбирите способ выплаты:' , reply_markup= markup.add( item_qiwi, item_yandex_money, item_market, item_return_menu ))

Пользователь выбирает допустим QIWI, потом ему выводит сообщения: "Укажите сумму которую хотите вывести ?"
Он вводит её, и потом идёт дальше обработка...
Читал что делается через bot.register_next_step_handler, но я так и не понял как вынести все в отдельный файл что-бы работало.

Если кто-то знает пожалуйста подскажите, как можно сделать перехват ввода, или как правильно оформить bot.register_next_step_handler.

Заранее спасибо.
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
150_Kirill_150
@150_Kirill_150
FX, Python, C# (Unity), Coding, адепт Linux
И так я понял что вы хотите вынести функцию в другой файл
У меня реализовано следующим образом:
Файл func.py
def admin_key():
    keyboard_admin = types.InlineKeyboardMarkup()
    keyboard_admin.add(types.InlineKeyboardButton(text='⛔️Забанить пользователя', callback_data='ban_user'))
def step2_ban(message):
    pass

Файл bot.py
import func as f
@bot.callback_query_handler(func=lambda message:True)
def tech_ob(message):
    try:
        chat_id = message.message.chat.id
        if 'ban_user' == message.data:
            msg = bot.send_message(chat_id, 'Введи ID пользователя которого надо забанить')
            bot.register_next_step_handler(msg, f.step2_ban)
            #Здесь перенаправляет на функцию step2_ban если пользователь нажал на забанить пользователя
    except:
        error(message)

Код написан на pytelegrambotapi
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час