diff --git a/bot.py b/bot.py index 2ae39e4..b5378bd 100644 --- a/bot.py +++ b/bot.py @@ -8,7 +8,7 @@ import json from telegram import InlineKeyboardButton, InlineKeyboardMarkup from telegram.ext import Updater, CommandHandler, CallbackQueryHandler from config import config, series -from betaseries import login_beta, get_title_only, to_see, seen +from betaseries import login_beta, get_title_only, to_see, seen, get_episode_code from telegram_api import send_message # Activer / Désactiver le debuggage {Projet : pas encore utilisé} @@ -92,11 +92,14 @@ def repeat(update, context): return -def check_seen(update, context): - message = 'à voir \n' +def latest(update, context): + message = 'à voir : \n' for i in range(len(series)): thetvdb_id = series[i] - message += '- ' + str(to_see(thetvdb_id)) + episode = to_see(thetvdb_id) + + if episode != False: + message += '- ' + str(episode) send_message(message) @@ -111,43 +114,73 @@ def liste(update, context): -def coding(update, context): +def ive_seen(update, context): if type(series) == str : file_path = 'latest/' + series + '.json' print(file_path) with open(file_path) as json_file: data = json.load(json_file) - # message = u'Episode que vous allez marquer comme vu : ' + data['serie_title'] + ' - S' + str(data['season ']) + 'E' + str(data['episode']) - # send_message(message) - keyboard = [[InlineKeyboardButton(data['serie_title'] + '|' + 'S' + str(data['season ']) + 'E' + str(data['episode']), callback_data='1')]] reply_markup = InlineKeyboardMarkup(keyboard) update.message.reply_text('Vous avez vu :', reply_markup=reply_markup) return + else : - keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'), - InlineKeyboardButton("Option 2", callback_data='2'), - InlineKeyboardButton("Option 3", callback_data='3')], - [InlineKeyboardButton("Option 4", callback_data='4')] ] + if len(series) == 2 : + keyboard = [[InlineKeyboardButton(get_title_only(series[0]), callback_data='1'), + InlineKeyboardButton(get_title_only(series[1]), callback_data='2')]] + + if len(series) == 3 : + keyboard = [ + [InlineKeyboardButton(get_title_only(series[0]), callback_data='1'), InlineKeyboardButton(get_title_only(series[1]), callback_data='2')], + [InlineKeyboardButton(get_title_only(series[2]), callback_data='3')] + ] + if len(series) == 4 : + keyboard = [ + [InlineKeyboardButton(get_title_only(series[0]), callback_data='1'), InlineKeyboardButton(get_title_only(series[1]), callback_data='2') ], + [InlineKeyboardButton(get_title_only(series[2]), callback_data='3'), InlineKeyboardButton(get_title_only(series[3]), callback_data='4') ] + ] + if len(series) == 5 : + keyboard = [ + [ InlineKeyboardButton(get_title_only(series[0]), callback_data='1'), InlineKeyboardButton(get_title_only(series[1]), callback_data='2')], + [ InlineKeyboardButton(get_title_only(series[2]), callback_data='3'), InlineKeyboardButton(get_title_only(series[3]), callback_data='4')], + [ InlineKeyboardButton(get_title_only(series[4]), callback_data='5')] + ] + reply_markup = InlineKeyboardMarkup(keyboard) update.message.reply_text('Selectionnez une reponse', reply_markup=reply_markup) return - + def button(update, context): query = update.callback_query query.answer() print(type(query['data'])) + # Si jamais l'utilisateur fait le 1er choix, on vérifie si jamais 'series' n'est pas un str (qui serait donc le cas ou l'utilisateur n'a qu'une serie if query['data'] == u'1' : if type(series) == str : seen(series) - + episode = get_title_only(series) + ' | ' + get_episode_code(series) + query.edit_message_text(text="Choix de la series : {}".format(episode)) + return + else : + seen(series[0]) + episode = get_title_only(series[0]) + ' | ' + get_episode_code(series[0]) + query.edit_message_text(text="Choix de la series : {}".format(episode)) + return + + + number = int(query['data']) - 1 + + query.edit_message_text(text="Choix de la series : ".format(get_title_only(number) )) + - query.edit_message_text(text="Selected option: {}".format(query.data)) + # query.edit_message_text(data['serie_title'] + '|' + 'S' + str(data['season ']) + 'E' + str(data['episode'] )) + #query.edit_message_text(text="Selected option: {}".format(query.data)) @@ -174,9 +207,9 @@ def main(): dp.add_handler(CommandHandler("liste", liste)) - dp.add_handler(CommandHandler("check", check_seen)) + dp.add_handler(CommandHandler("latest", latest)) - dp.add_handler(CommandHandler("code", coding)) + dp.add_handler(CommandHandler("seen", ive_seen)) updater.dispatcher.add_handler(CallbackQueryHandler(button))