🔹FORCE CHANNEL JOIN BOT
#python #language
import telebot
from telebot.types import ReplyKeyboardMarkup, KeyboardButton
# Replace with your bot token and channel username
BOT_TOKEN = "YOUR_BOT_TOKEN"
CHANNEL_USERNAME = "@YourChannel"
bot = telebot.TeleBot(BOT_TOKEN)
@bot.message_handler(commands=['start'])
def start(message):
user_id = message.from_user.id
if is_user_member(user_id):
send_main_menu(message.chat.id)
else:
send_join_prompt(message.chat.id)
def is_user_member(user_id):
try:
member = bot.get_chat_member(CHANNEL_USERNAME, user_id)
return member.status in ['member', 'administrator', 'creator']
except:
return False
def send_join_prompt(chat_id):
markup = ReplyKeyboardMarkup(resize_keyboard=True)
markup.add(KeyboardButton("✅ Joined"))
bot.send_message(chat_id, f"Please join our channel {CHANNEL_USERNAME} to use this bot!", reply_markup=markup)
@bot.message_handler(func=lambda message: message.text == "✅ Joined")
def joined(message):
user_id = message.from_user.id
if is_user_member(user_id):
bot.send_message(message.chat.id, "Thank you for joining! Here's the main menu:")
send_main_menu(message.chat.id)
else:
bot.send_message(message.chat.id, f"You haven't joined {CHANNEL_USERNAME} yet! Please join and try again.")
def send_main_menu(chat_id):
markup = ReplyKeyboardMarkup(resize_keyboard=True)
markup.add(KeyboardButton("🏆 Claim Gift"), KeyboardButton("💰 Balance"))
markup.add(KeyboardButton("📤 Withdraw"), KeyboardButton("📞 Support"))
bot.send_message(chat_id, "Welcome to the main menu! Choose an option:", reply_markup=markup)
bot.polling()
#python #language