aiogram / aiogram/bot

Telegram bot future

未关闭
#32 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
invalid
主要语言
Python
星标
282
派生
58
PR 合并指标
30 天内没有已合并 PR

描述

from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import ApplicationBuilder, CommandHandler, CallbackQueryHandler, ContextTypes
import logging

BOT_TOKEN = "7699211626:AAEE0rLHWFzafG_jVlzGfOn9-QTbYooXvkE"
CHANNEL_USERNAME = "pixelverse_hd"

logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO
)

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
keyboard = [
[InlineKeyboardButton("✅ Join Channel", url=f"https://t.me/{CHANNEL_USERNAME}")],
[InlineKeyboardButton("🔁 Verify", callback_data="verify")]
]
reply_markup = InlineKeyboardMarkup(keyboard)
await update.message.reply_text(
"Welcome! To use this bot, please join our channel first and verify.",
reply_markup=reply_markup
)

async def button_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
user_id = query.from_user.id
await query.answer()

try:
member = await context.bot.get_chat_member(chat_id=f"@{CHANNEL_USERNAME}", user_id=user_id)
if member.status in ['member', 'administrator', 'creator']:
await query.edit_message_text("✅ Verification successful! You now have access.")
# Additional features can be added here
else:
await query.edit_message_text("❌ You are not a member of the channel.")
except:
await query.edit_message_text("⚠️ Unable to verify. Please try again later.")

if __name__ == '__main__':
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CallbackQueryHandler(button_handler))
print("Bot is running...")
app.run_polling()

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。