Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from utility.dbClass import MongoConnect
- from telegram import InlineKeyboardButton, InlineKeyboardMarkup
- from commands import decorators
- import telegram
- def init(update, context):
- bot = context.bot
- conn = MongoConnect()
- user_id = update.message.chat.id #user_id che chiama la richiesta
- retrive = conn.mycol.find_one({"user_id": user_id}) #recupera il documento sul db relativo al suo user_id
- global url
- url = [] # lista per i soli url
- for x in retrive['url']: #popolo la lista cin gli url
- url.append(x)
- button_list = [] #lista indice bottoni
- list_to_string = [str(x) for x in range(len(url))] #converti indici lista in lista di stringhe
- list_to_string.pop(0)
- #per ogni indice crea un tasto con l'indice scritto all'interno e che ritorna lindice quando premuto
- for each in list_to_string:
- button_list.append(InlineKeyboardButton(each, callback_data = each))
- global reply_markup
- reply_markup=InlineKeyboardMarkup(build_menu(button_list,n_cols=7)) #n_cols = 1 is for single column and mutliple rows
- #bot.send_message(chat_id=update.message.chat_id, text='Choose from the following', reply_markup=reply_markup)
- update.message.reply_text(url[1], reply_markup=reply_markup)
- def button_list_callback(update, context):
- query = update.callback_query
- query.edit_message_text(url[int(query.data)], reply_markup = reply_markup)
- def build_menu(buttons, n_cols, header_buttons = None, footer_buttons = None):
- menu = [buttons[i:i + n_cols] for i in range(0, len(buttons), n_cols)]
- if header_buttons:
- menu.insert(0, header_buttons)
- if footer_buttons:
- menu.append(footer_buttons)
- return menu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement