Open ArtyomMedved opened 8 months ago
I don’t know what I did wrong but it gives an error, I’m using a MacBook version of Sonoma, I hope for your help)
import config import logging from aiogram import Bot, Dispatcher, executor, types from aiogram.types.message import ContentType import markups as nav from db import Database # log logging.basicConfig(level=logging.INFO) # init bot = Bot(token=config.TOKEN) dp = Dispatcher(bot) db = Database('database.db') #start @dp.message_handler(commands=['start']) async def start(message: types.Message): if(not db.user_exists(message.from_user.id)): db.add_user(message.from_user.id) await bot.send_message(message.from_user.id, "Укажите ваш ник:") else: await bot.send_message(message.from_user.id, "Вы уже зарегестрированы!", reply_markup=nav.mainMenu) @dp.message_handler() async def bot_message(message: types.Message): if message.chat.type == 'private': if message.text == 'Профиль': pass else: if db.get_singup(message.from_user.id) == "setnickname": if(len(message.text) > 15): await bot.send_message(message.from_user.id, "Никнейм не должен превышать 15 символов") elif '@' in message.text or '/' in message.text: await bot.send_message(message.from_user.id, "Никнейм не должен содержать @ или /") else: db.set_nickname(message.from_user.id, message.text) db.set_singup(message.from_user.id, "done") await bot.send_message(message.from_user.id, "Регистрация успешна!", reply_markup=nav.mainMenu) else: await bot.send_message(message.from_user.id, "что?") # prices PRICE = types.LabeledPrice(label="Подписка на 1 месяц", amount=500*100) # в копейках (руб) # buy @dp.message_handler(commands=['buy']) async def buy(message: types.Message): if config.PAYMENTS_TOKEN.split(':')[1] == 'TEST': await bot.send_message(message.chat.id, "Тестовый платеж!!!") await bot.send_invoice(message.chat.id, title="Подписка на бота", description="Активация подписки на бота на 1 месяц", provider_token=config.PAYMENTS_TOKEN, currency="rub", photo_url="https://www.aroged.com/wp-content/uploads/2022/12/Telegram-Premium-has-collected-a-million-subscribers-in-five-months.png", photo_width=416, photo_height=234, photo_size=416, is_flexible=False, prices=[PRICE], start_parameter="one-month-subscription", payload="test-invoice-payload") # pre checkout (must be answered in 10 seconds) @dp.pre_checkout_query_handler(lambda query: True) async def pre_checkout_query(pre_checkout_q: types.PreCheckoutQuery): await bot.answer_pre_checkout_query(pre_checkout_q.id, ok=True) # successful payment @dp.message_handler(content_types=ContentType.SUCCESSFUL_PAYMENT) async def successful_payment(message: types.Message): print("SUCCESSFUL PAYMENT:") payment_info = message.successful_payment.to_python() for k, v in payment_info.items(): print(f"{k} = {v}") await bot.send_message(message.chat.id, f"Платеж на сумму {message.successful_payment.total_amount // 100} {message.successful_payment.currency} прошел успешно!!!" f"Скачать скрипт:.....(ссылка одноразовая, не пытайтесь ее кому то отпрвить)") # run long-polling if __name__ == "__main__": executor.start_polling(dp, skip_updates=False)
I don’t know what I did wrong but it gives an error, I’m using a MacBook version of Sonoma, I hope for your help)