def process_drive_links(update, context): if not update.message: return folder_ids = parse_entity_for_drive_id(update.message) if not folder_ids: return message = '๐ The following files were detected :\n' try: gd = GoogleDrive(update.effective_user.id) except Exception as e: update.message.reply_text( '๐ธ Please make sure the SA archive has been uploaded and the collection folder has been configured.\n{}' .format(e)) return for item in folder_ids: try: folder_name = gd.get_file_name(item) except Exception as e: update.message.reply_text( '๐ธ Please make sure that the SA archive has been uplaoded and that the SA has permission to access the link.\n{}' .format(e)) return message += ' <a href="https://drive.google.com/open?id={}">{}</a>\n'.format( item, html.escape(folder_name)) message += '\n๐ Please select the target destination' fav_folder_ids = context.user_data.get(udkey_folders, None) callback_query_prefix = 'save_to_folder' page = 1 if fav_folder_ids: page_data = [] for item in fav_folder_ids: page_data.append({ 'text': simplified_path(fav_folder_ids[item]['path']), 'data': '{}'.format(item) }) inline_keyboard_drive_ids = get_inline_keyboard_pagination_data( callback_query_prefix, page_data, page=page, max_per_page=10, ) else: inline_keyboard_drive_ids = [[ InlineKeyboardButton( text='โ ๏ธ Use /folders to add a favorite folder', callback_data='#') ]] inline_keyboard = inline_keyboard_drive_ids update.message.reply_text( message, parse_mode=ParseMode.HTML, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup(inline_keyboard))
def save_to_folder_page(update, context): callback_query_prefix = 'save_to_folder' query = update.callback_query match = re.search(r'^save_to_folder_page#(\d+)$', query.data) if not match: alert_users(context, update.effective_user, 'invalid query data', query.data) query.answer(text='ๅๅต', show_alert=True) return page = int(match.group(1)) fav_folder_ids = context.user_data.get(udkey_folders, None) if fav_folder_ids: page_data = [] for item in fav_folder_ids: page_data.append({'text': simplified_path(fav_folder_ids[item]['path']), 'data': '{}'.format(item)}) inline_keyboard_drive_ids = get_inline_keyboard_pagination_data( callback_query_prefix, page_data, page=page, max_per_page=10, ) else: inline_keyboard_drive_ids = [[InlineKeyboardButton(text='ๆชๆถ่ๅข้็๏ผๅ ๆถ่ๆ่ฝๆไฝใ', callback_data='#')]] inline_keyboard = inline_keyboard_drive_ids query.message.edit_reply_markup(reply_markup=InlineKeyboardMarkup(inline_keyboard))
def set_folders(update, context): if update.effective_user.id in config.USER_IDS\ or (context.bot_data.get('vip', None) and update.effective_user.id in context.bot_data['vip']): max_folders = default_max_folders_vip else: max_folders = default_max_folders callback_query_prefix = 'choose_folder' query = update.callback_query page = 1 if not query: rsp = update.message.reply_text('Get team disk...') rsp.done.wait(timeout=60) message_id = rsp.result().message_id else: if query.message.chat_id < 0 and \ (not query.message.reply_to_message or query.from_user.id != query.message.reply_to_message.from_user.id): alert_users(context, update.effective_user, 'invalid caller', query.data) query.answer(text='Yo ha', show_alert=True) return message_id = query.message.message_id folder_ids = context.user_data.get(udkey_folders, None) if folder_ids: folder_ids_len = len(folder_ids) page_data = [] for item in folder_ids: page_data.append({ 'text': simplified_path(folder_ids[item]['path']), 'data': '{}'.format(item) }) inline_keyboard_drive_ids = get_inline_keyboard_pagination_data( callback_query_prefix + '_replace', page_data, page=page, max_per_page=10, ) else: inline_keyboard_drive_ids = [] folder_ids_len = 0 if folder_ids_len < max_folders: inline_keyboard_drive_ids.insert(0, [ InlineKeyboardButton('Add a favorite folder', callback_data=callback_query_prefix) ]) inline_keyboard_drive_ids.append( [InlineKeyboardButton('carry out', callback_data='cancel')]) context.bot.edit_message_text( chat_id=update.effective_chat.id, message_id=message_id, text='Of {}/{}Favorite Folder๏ผ'.format( folder_ids_len, max_folders, ), reply_markup=InlineKeyboardMarkup(inline_keyboard_drive_ids))
def process_drive_links(update, context): if not update.message: return # if update.message.chat.id not in config.USER_IDS: # logger.debug('Ignore message from {0}.'.format(update.message.chat.id)) # return folder_ids = parse_entity_for_drive_id(update.message) if not folder_ids: return message = 'ๆฃๆตๅฐไปฅไธๆไปถ๏ผ' try: gd = GoogleDrive(update.effective_user.id) except Exception as e: update.message.reply_text('่ฏท็กฎ่ฎคSAๅทฒๆญฃ็กฎไธไผ ๏ผๅนถ้ ็ฝฎๆถ่ๆไปถๅคนใ\n{}'.format(e)) return for item in folder_ids: try: folder_name = gd.get_file_name(item) except Exception as e: update.message.reply_text( '่ฏท็กฎ่ฎคSAๅทฒๆญฃ็กฎไธไผ ๏ผๅนถ็กฎ่ฎคSAๆ่ฎฟ้ฎ่ฏฅ้พๆฅๆ้ใ\n{}'.format(e)) return message += '<a href="https://drive.google.com/open?id={}">{}</a>\n'.format( item, html.escape(folder_name)) message += '\n่ฏท้ๆฉ็ฎๆ ๅข้็' fav_folder_ids = context.user_data.get(udkey_folders, None) callback_query_prefix = 'save_to_folder' page = 1 if fav_folder_ids: page_data = [] for item in fav_folder_ids: page_data.append({ 'text': simplified_path(fav_folder_ids[item]['path']), 'data': '{}'.format(item) }) inline_keyboard_drive_ids = get_inline_keyboard_pagination_data( callback_query_prefix, page_data, page=page, max_per_page=10, ) else: inline_keyboard_drive_ids = [[ InlineKeyboardButton(text='ๆชๆถ่ๅข้็๏ผๅ ๆถ่ๆ่ฝๆไฝใ', callback_data='#') ]] inline_keyboard = inline_keyboard_drive_ids update.message.reply_text( message, parse_mode=ParseMode.HTML, reply_markup=InlineKeyboardMarkup(inline_keyboard))
def set_folders(update, context): if update.effective_user.id in config.USER_IDS or update.effective_user.id in context.bot_data[ 'vip']: max_folders = default_max_folders_vip else: max_folders = default_max_folders callback_query_prefix = 'choose_folder' query = update.callback_query page = 1 if not query: rsp = update.message.reply_text('่ทๅๅข้็...') rsp.done.wait(timeout=60) message_id = rsp.result().message_id else: message_id = query.message.message_id folder_ids = context.user_data.get(udkey_folders, None) if folder_ids: folder_ids_len = len(folder_ids) page_data = [] for item in folder_ids: page_data.append({ 'text': simplified_path(folder_ids[item]['path']), 'data': '{}'.format(item) }) inline_keyboard_drive_ids = get_inline_keyboard_pagination_data( callback_query_prefix + '_replace', page_data, page=page, max_per_page=10, ) else: inline_keyboard_drive_ids = [] folder_ids_len = 0 if folder_ids_len < max_folders: inline_keyboard_drive_ids.insert(0, [ InlineKeyboardButton('ๆฐๅขไธไธชๆถ่ๆไปถๅคน', callback_data=callback_query_prefix) ]) inline_keyboard_drive_ids.append( [InlineKeyboardButton('ๅฎๆ', callback_data='cancel')]) for item in inline_keyboard_drive_ids: logger.debug(str(item[0].text) + str(item[0].callback_data)) context.bot.edit_message_text( chat_id=update.effective_chat.id, message_id=message_id, text='ๅ ฑ{}/{}ๆถ่ๆไปถๅคน๏ผ'.format( folder_ids_len, max_folders, ), reply_markup=InlineKeyboardMarkup(inline_keyboard_drive_ids))
def save_to_folder_page(update, context): callback_query_prefix = 'save_to_folder' query = update.callback_query if query.message.chat_id < 0 and \ (not query.message.reply_to_message or query.from_user.id != query.message.reply_to_message.from_user.id): alert_users(context, update.effective_user, 'invalid caller', query.data) query.answer(text='Yo ha', show_alert=True) return match = re.search(r'^save_to_folder_page#(\d+)$', query.data) if not match: alert_users(context, update.effective_user, 'invalid query data', query.data) query.answer(text='Yo ha', show_alert=True) return page = int(match.group(1)) fav_folder_ids = context.user_data.get(udkey_folders, None) if fav_folder_ids: page_data = [] for item in fav_folder_ids: page_data.append({ 'text': simplified_path(fav_folder_ids[item]['path']), 'data': '{}'.format(item) }) inline_keyboard_drive_ids = get_inline_keyboard_pagination_data( callback_query_prefix, page_data, page=page, max_per_page=10, ) else: inline_keyboard_drive_ids = [[ InlineKeyboardButton( text= 'If the team disk is not saved, please save it before operation.', callback_data='#') ]] inline_keyboard = inline_keyboard_drive_ids query.message.edit_reply_markup( reply_markup=InlineKeyboardMarkup(inline_keyboard))
def process_drive_links(update, context): if not update.message: return folder_ids = parse_entity_for_drive_id(update.message) if not folder_ids: return message = '๐ แดลแดฤษชแด แดแดษช แด แด๊ฑสแดสแดส แดสษขษชสแดษดแด ษช :\n' try: gd = GoogleDrive(update.effective_user.id) except Exception as e: update.message.reply_text( '๐ธ ๐ทรผ๐๐๐๐ ๐พ๐ฌ ๐รผ๐๐๐๐๐๐ฤ๐๐๐๐๐ ๐๐ ๐พ๐ฌ"๐ฤฑ๐ ๐๐ฤ๐๐๐๐ฤฑ๐๐ ๐๐๐ล๐๐ ๐๐๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐ฤ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐..\n{}' .format(e)) return for item in folder_ids: try: folder_name = gd.get_file_name(item) except Exception as e: update.message.reply_text( '๐ธ ๐ทรผ๐๐๐๐ ๐พ๐ฌ ๐รผ๐๐๐๐๐๐ฤ๐๐๐๐๐ ๐๐ ๐พ๐ฌ"๐ฤฑ๐ ๐๐ฤ๐๐๐๐ฤฑ๐๐ ๐๐๐ล๐๐ ๐๐๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐ฤ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐..\n{}' .format(e)) return message += ' <a href="https://drive.google.com/open?id={}">{}</a>\n'.format( item, html.escape(folder_name)) message += '\n๐ ๊รผีงฦาฝีฒ ีฐาฝีชาฝฦ ีฐาฝีชาฝฦ สาฝรงรฌีฒ' fav_folder_ids = context.user_data.get(udkey_folders, None) callback_query_prefix = 'save_to_folder' page = 1 if fav_folder_ids: page_data = [] for item in fav_folder_ids: page_data.append({ 'text': simplified_path(fav_folder_ids[item]['path']), 'data': '{}'.format(item) }) inline_keyboard_drive_ids = get_inline_keyboard_pagination_data( callback_query_prefix, page_data, page=page, max_per_page=10, ) else: inline_keyboard_drive_ids = [[ InlineKeyboardButton( text= 'โ ๏ธ ๐ณ๐ฎ๐๐ผ๐ฟ๐ถ ๐ธ๐น๐ฎ๐รถ๐ฟ ๐ฒ๐ธ๐น๐ฒ๐บ๐ฒ๐ธ ๐ถรง๐ถ๐ป /folders [ฬ ฬฒk][ฬ ฬฒu][ฬ ฬฒl][ฬ ฬฒl][ฬ ฬฒa][ฬ ฬฒn]', callback_data='#') ]] inline_keyboard = inline_keyboard_drive_ids update.message.reply_text( message, parse_mode=ParseMode.HTML, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup(inline_keyboard))