Business telegram bot
Business telegram bot by Fosbaunknown
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...