Помогите добавить донат звездами в бота телеграмм
мне нужно функция оплаты доната telegram stars к сожалению у меня не получается это сделать.
нужно чтобы счет вылезал после нажатия кнопки "Донат" она уже есть,но она выдает ссылки на патреон юви и тд.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
import logging
import sqlite3
from telegram import Update, ReplyKeyboardMarkup
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, MessageHandler, filters
# Включаем логирование
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
logger = logging.getLogger(__name__)
# Функция для инициализации базы данных
def init_db():
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY
)
''')
conn.commit()
conn.close()
# Функция-обработчик команды /start
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
user_id = update.message.from_user.id
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute('INSERT OR IGNORE INTO users (user_id) VALUES (?)', (user_id,))
conn.commit()
conn.close()
# Создаем клавиатурные кнопки
keyboard = [
['Количество пользователей'],
['Донат']
]
reply_markup = ReplyKeyboardMarkup(keyboard, one_time_keyboard=True, resize_keyboard=True)
await update.message.reply_text('Привет! Я ваш бот. Как я могу помочь?', reply_markup=reply_markup)
# Функция-обработчик текстовых сообщений
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
text = update.message.text
if text == 'Количество пользователей':
await count(update, context)
elif text == 'Донат':
await donate_info(update, context)
# Функция-обработчик команды /count
async def count(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute('SELECT COUNT(*) FROM users')
count = cursor.fetchone()[0]
conn.close()
await update.message.reply_text(f'Количество активированных пользователей: {count}')
# Функция для вывода информации о донате
async def donate_info(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
donate_message = (
"Если вы хотите поддержать меня, вы можете сделать это через:\\n"
"1. [Патреон](https://www.patreon.com/your_account)\\n"
"2. [Киви кошелек](https://qiwi.com)\\n"
"3. [PayPal](https://www.paypal.com)\\n\\n"
"Спасибо за вашу поддержку!"
)
await update.message.reply_text(donate_message)
# Основная функция
if __name__ == '__main__':
init_db() # Инициализируем базу данных
application = ApplicationBuilder().token('7961:HusG4r').build()
application.add_handler(CommandHandler("start", start))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message)) # Обработчик текстовых сообщений
# Запускаем бота
application.run_polling()
По дате
По рейтингу
ты че совсем придурок
во-первых все пишут на aiogram 3
во-вторых aiosqlite а не sqlite3
Че такое донат
Т
Не пробовал манго, не завышалась планка, но кто бы мог подумать об одном, мы в силах тормозить но нога до упора в пол
Больше по теме