@Vmmkselius

Можно ли код telebot изменить на aiogram?

Написал код на телеботе, но потом решил его переписать на aiogram. И столкнулся с проблемой замены:
@bot.callback_query_handler(func=lambda call: True)
def answer(call):


Можно ли вызвать те же самые функции на aiogram?
Полный код:
import telebot
from telebot import types
import time

import db
import config
import functions

bot = telebot.TeleBot(config.token)

db.create_db()

@bot.message_handler(commands=['start'])
def send_welcome(message):

	#настройка
	amount = 1
	desc = 'Тестовый товар'

	buy_markup = types.InlineKeyboardMarkup(row_width=2)
	buy_button = types.InlineKeyboardButton(text=f'Купить за {amount}₽', callback_data=f'buy-{amount}-{desc}')
	buy_markup.add(buy_button)

	bot.send_message(message.chat.id, f'Купить за {amount}₽', reply_markup=buy_markup)


@bot.callback_query_handler(func=lambda call: True)
def answer(call):
	#кнопка купить
	if call.data.startswith('buy'):

		call_data = call.data.split('-')

		url, code = db.add_trans(call_data[1], call_data[2])

		buy_markup = types.InlineKeyboardMarkup(row_width=2)
		buy_button_1 = types.InlineKeyboardButton(text=f'Перейти', url=url)
		buy_button_2 = types.InlineKeyboardButton(text=f'Проверить платеж', callback_data=f'check-{code}')
		buy_markup.add(buy_button_1, buy_button_2)

		bot.edit_message_text(f'Оплатите {call_data[1]}₽ по ссылке:', call.message.chat.id, call.message.message_id, reply_markup=buy_markup)

	#кнопка проверить платеж
	elif call.data.startswith('check'):

		call_data = call.data.split('-')

		status = functions.check_pay(call_data[1])

		if status:

			price = db.update_trans(call_data[1])

			#обновления баланса или выдача товара

			bot.edit_message_text('Успешно оплачено!', call.message.chat.id, call.message.message_id, reply_markup='')

		else:
			pass


while True:
	try:
		bot.polling(none_stop=True, interval=0, timeout=5)
	except Exception as E:
		print(E.args)
		time.sleep(1)
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Если речь идет о декораторе, то да, есть с таким же названием и выполняющий те же задачи, и даже в документации описан

https://docs.aiogram.dev/en/latest/dispatcher/inde...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы