Business telegram bot

Business telegram bot by Fosba
 avatar
unknown
python
a year ago
3.4 kB
12
No Index
from telegram.ext import CommandHandler, Application, CallbackContext, CallbackQueryHandler
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup


# Set your Telegram bot token here
TOKEN = "YOUR TOKEN"

async def start(update, context: CallbackContext):
    await update.message.reply_text(f"Benvenuto @{update.effective_user.username} tramite questo bot avrai accesso a tutte le informazioni necessarie per iniziare") 
    tastiera = [
        [
            InlineKeyboardButton("Info", callback_data='answer_private'),
            InlineKeyboardButton("Canale REP", url="https://t.me/repalexy")
        ],
        [
            InlineKeyboardButton("Canale principale", url="https://t.me/+C198IA-gZ945Y2Vk")
        ]
    ]
    tastiera_markup = InlineKeyboardMarkup(tastiera)
    image = r"PATH TO FILE"
    await update.message.reply_photo(open(image, "rb"), reply_markup=tastiera_markup)

async def answer(update: Update, context: CallbackContext):
    # Crea una tastiera inline con un pulsante "Indietro"
    tastiera = [[
        InlineKeyboardButton("Indietro", callback_data='answer_indietro'),
    ]]
    tastiera_markup = InlineKeyboardMarkup(tastiera)
    
    tastiera1 = [
        [
            InlineKeyboardButton("INIZIA ORA!!!", url="https://t.me/+C198IA-gZ945Y2Vk"),
            InlineKeyboardButton("INFO O SUPPORTO", url="https://t.me/MyAlexy")
        ],
        [
            InlineKeyboardButton("Indietro", callback_data='answer_indietro')
        ]
    ]
    tastiera_markup1 = InlineKeyboardMarkup(tastiera1)
    
    # Controlla se la risposta è dovuta a un callback query
    if update.callback_query:
        # Se il pulsante "INIZIA ORA!!!" è stato premuto
        if update.callback_query.data == 'answer_private':
            user_id = update.effective_user.id
            testo = open(r"PATH TO FILE").read()
            # Invia un messaggio all'utente con il testo e la tastiera inline
            message = await context.bot.send_message(chat_id=user_id, text=testo, reply_markup=tastiera_markup1)
            # Memorizza l'ID del messaggio inviato per eliminazione successiva
            context.user_data['last_message_id'] = message.message_id
        # Se il pulsante "Indietro" è stato premuto
        elif update.callback_query.data == 'answer_indietro':
            # Ottieni l'ID dell'utente e l'ID del messaggio precedente
            user_id = update.effective_user.id
            last_message_id = context.user_data.get('last_message_id')
            # Se c'è un messaggio precedente, elimina il messaggio
            if last_message_id:
                await context.bot.delete_message(chat_id=user_id, message_id=last_message_id)

def main():
    # Crea un oggetto Application per il bot con il token specificato
    application = Application.builder().token(TOKEN).build()
    
    # Aggiungi un gestore per il comando /start
    start_handler = CommandHandler('start', start)
    application.add_handler(start_handler)
    
    # Aggiungi un gestore per le risposte ai pulsanti inline "INIZIA ORA!!!"
    answer_handler = CallbackQueryHandler(answer)
    application.add_handler(answer_handler)
    
    # Avvia il bot in modalità polling
    application.run_polling()

# Esegui la funzione main se lo script viene eseguito direttamente
if __name__ == "__main__":
    main()
Editor is loading...