| @@ -27,11 +27,26 @@ logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s | |||||
| level=logging.INFO) | level=logging.INFO) | ||||
| logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
| def help(update, context): | |||||
| message = "Commandes du bot : " + '\n \n' | |||||
| message += u"/help - Permet d'afficher ce message \n" | |||||
| message += u"/start - Afficher le message d'accueil \n" | |||||
| message += u"/ping - Verifier le temps de reaction du bot /!\Parfois il se peut que ça soit l'API de Betaseries qui prenne du temps \n" | |||||
| message += u"/repeat {message} - Permet de repeter votre message + permet d'afficher votre ID dans la console \n" | |||||
| message += u"/latest - permet de voir les derniers episodes des series surveillées \n" | |||||
| message += u"/liste - permet de voir les series surveillées \n" | |||||
| message += u"/all_seen - permet de dire qu'on a vu tout les episodes d'une des series surveillées \n" | |||||
| message += u"/2see - Permet de voir les episodes que nous n'avons pas encore vu sur Betaseries \n" | |||||
| message += u"/watched - Permet de marquer un épisode comme 'vu' dans la liste de la commande /2see" | |||||
| update.message.reply_text(message) | |||||
| def start(update, context): | def start(update, context): | ||||
| send_message('Bonjour Sensei. !') | |||||
| send_message('Je suis ici pour te servir, malgré ça : je reste en Beta ! Soyez doux.') | |||||
| message = "Bonjour, " + "\n" + "je suis un bot telegram vous permettant de marquer une serie comme 'vu' sur votre compte Betaseries" + '\n \n' | |||||
| message += u"Pour commencer à utiliser le bot, vous aurez besoin de suivre le guide. Bien que le bot répond ici : ça ne veut pas dire que toutes les fonctions sont disponibles ! " + '\n \n' | |||||
| message += u"Si vous avez le moindre problème, référez vous au guide présent ici : https://git.thoughtless.eu/Cinabre/Telegram-Betaseries" + '\n \n' | |||||
| message += u"Pour voir la liste des commandes, tapez /help" | |||||
| update.message.reply_text(message) | |||||
| return | return | ||||
| def ping(update, context): | def ping(update, context): | ||||
| @@ -70,8 +85,7 @@ def repeat(update, context): | |||||
| message = '' | message = '' | ||||
| user = update.message.from_user | user = update.message.from_user | ||||
| if DEBUG == True : | |||||
| print('Pseudo du compte : {} ID: {} '.format(user['username'], user['id'])) | |||||
| print('Pseudo du compte : {} ID: {} '.format(user['username'], user['id'])) | |||||
| if len(context.args) > 1 : | if len(context.args) > 1 : | ||||
| for i in range(len(context.args)): | for i in range(len(context.args)): | ||||
| @@ -80,12 +94,12 @@ def repeat(update, context): | |||||
| message = message[:-1] | message = message[:-1] | ||||
| else : | else : | ||||
| message = context.args[0] | message = context.args[0] | ||||
| if DEBUG == True : | |||||
| print("phrase envoyée : ", message) | |||||
| print("phrase envoyée : ", message) | |||||
| if message == "Cinabre est parfait": | |||||
| update.message.reply_text("J'avoue !") | |||||
| if message == "Tu es genial": | |||||
| update.message.reply_text("Je me trouve aussi genial !") | |||||
| return | return | ||||
| update.message.reply_text(message) | update.message.reply_text(message) | ||||
| @@ -197,7 +211,6 @@ def ive_all_seen(update, context): | |||||
| def button(update, context): | def button(update, context): | ||||
| query = update.callback_query | query = update.callback_query | ||||
| query.answer() | query.answer() | ||||
| @@ -205,32 +218,34 @@ def button(update, context): | |||||
| if callback == 1: | if callback == 1: | ||||
| if query['data'] == u'1' : | if query['data'] == u'1' : | ||||
| if type(series) == str : | if type(series) == str : | ||||
| seen(series) | |||||
| seen(series, 'latest') | |||||
| episode = get_title_only(series) + ' | ' + get_episode_code(series) | episode = get_title_only(series) + ' | ' + get_episode_code(series) | ||||
| query.edit_message_text(text="Choix de la series : {}".format(episode)) | query.edit_message_text(text="Choix de la series : {}".format(episode)) | ||||
| return | return | ||||
| else : | else : | ||||
| seen(series[0]) | |||||
| seen(series[0], 'latest') | |||||
| episode = get_title_only(series[0]) + ' | ' + get_episode_code(series[0]) | episode = get_title_only(series[0]) + ' | ' + get_episode_code(series[0]) | ||||
| query.edit_message_text(text="Choix de la series : {}".format(episode)) | query.edit_message_text(text="Choix de la series : {}".format(episode)) | ||||
| return | return | ||||
| number = int(query['data']) - 1 | number = int(query['data']) - 1 | ||||
| seen(series[number]) | |||||
| seen(series[number], 'latest') | |||||
| episode = get_title_only(series[number]) + ' | ' + get_episode_code(series[number]) | episode = get_title_only(series[number]) + ' | ' + get_episode_code(series[number]) | ||||
| query.edit_message_text(text="Choix de la series : {}".format(episode)) | query.edit_message_text(text="Choix de la series : {}".format(episode)) | ||||
| return | return | ||||
| if callback == 2 : | if callback == 2 : | ||||
| with open(query['data']) as json_file: | with open(query['data']) as json_file: | ||||
| data = json.load(json_file) | data = json.load(json_file) | ||||
| message = data["title"] + " - S" + str(data['season']) + "E" + str(data['episode']) + " ID: " + str(data['id']) | |||||
| send_message(message) | |||||
| query.edit_message_text(text=query['data']) | |||||
| message = u"episode que vous venez de marquer comme 'vu' : " + '\n' + data["title"] + " - S" + str(data['season']) + "E" + str(data['episode']) + " ID: " + str(data['id']) | |||||
| with open(query['data'], 'r') as episode_file: | |||||
| episode = json.load(episode_file) | |||||
| seen(episode[u'id'], 'watched') | |||||
| query.edit_message_text(text=message) | |||||
| what_2see() | |||||
| def what2see(update, context): | def what2see(update, context): | ||||
| send_message("Voici la liste des épisodes que vous devez voir :") | send_message("Voici la liste des épisodes que vous devez voir :") | ||||
| message = what_2see() | message = what_2see() | ||||
| @@ -250,7 +265,55 @@ def watched(update, context): | |||||
| for i in range(len(list)) : | for i in range(len(list)) : | ||||
| file_path = 'series/' + list[i] + '.json' | file_path = 'series/' + list[i] + '.json' | ||||
| file.append(file_path) | file.append(file_path) | ||||
| if len(list) == 2 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])] | |||||
| ] | |||||
| if len(list) == 3 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2])] | |||||
| ] | |||||
| if len(list) == 4 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])] | |||||
| ] | |||||
| if len(list) == 5 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[4]), callback_data=file[4])] | |||||
| ] | |||||
| if len(list) == 6 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[4]), callback_data=file[4]), InlineKeyboardButton(get_ep_code_series(file[5]), callback_data=file[5])] | |||||
| ] | |||||
| if len(list) == 7 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[4]), callback_data=file[4]), InlineKeyboardButton(get_ep_code_series(file[5]), callback_data=file[5])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[6]), callback_data=file[6])] | |||||
| ] | |||||
| if len(list) == 8 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[4]), callback_data=file[4]), InlineKeyboardButton(get_ep_code_series(file[5]), callback_data=file[5])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[6]), callback_data=file[6]), InlineKeyboardButton(get_ep_code_series(file[7]), callback_data=file[7])] | |||||
| ] | |||||
| if len(list) == 9 : | |||||
| choix = [ | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[4]), callback_data=file[4]), InlineKeyboardButton(get_ep_code_series(file[5]), callback_data=file[5])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[6]), callback_data=file[6]), InlineKeyboardButton(get_ep_code_series(file[7]), callback_data=file[7])], | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[8]), callback_data=file[8])] | |||||
| ] | |||||
| if len(list) == 10 : | if len(list) == 10 : | ||||
| choix = [ | choix = [ | ||||
| [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | [ InlineKeyboardButton(get_ep_code_series(file[0]), callback_data=file[0]), InlineKeyboardButton(get_ep_code_series(file[1]), callback_data=file[1])], | ||||
| @@ -259,9 +322,11 @@ def watched(update, context): | |||||
| [ InlineKeyboardButton(get_ep_code_series(file[6]), callback_data=file[6]), InlineKeyboardButton(get_ep_code_series(file[7]), callback_data=file[7])], | [ InlineKeyboardButton(get_ep_code_series(file[6]), callback_data=file[6]), InlineKeyboardButton(get_ep_code_series(file[7]), callback_data=file[7])], | ||||
| [ InlineKeyboardButton(get_ep_code_series(file[8]), callback_data=file[8]), InlineKeyboardButton(get_ep_code_series(file[9]), callback_data=file[9]) ] | [ InlineKeyboardButton(get_ep_code_series(file[8]), callback_data=file[8]), InlineKeyboardButton(get_ep_code_series(file[9]), callback_data=file[9]) ] | ||||
| ] | ] | ||||
| reply_markup = InlineKeyboardMarkup(choix) | |||||
| update.message.reply_text('Selectionnez une reponse', reply_markup=reply_markup) | |||||
| else : | |||||
| send_message("Un probleme est survenu lors de l'interrogation de la liste") | |||||
| return | |||||
| reply_markup = InlineKeyboardMarkup(choix) | |||||
| update.message.reply_text("Selectionnez l'episode que vous avez vu", reply_markup=reply_markup) | |||||
| @@ -274,7 +339,7 @@ def main(): | |||||
| dp.add_handler(CommandHandler("start", start)) | dp.add_handler(CommandHandler("start", start)) | ||||
| dp.add_handler(CommandHandler("help", start)) | |||||
| dp.add_handler(CommandHandler("help", help)) | |||||
| dp.add_handler(CommandHandler("ping", ping)) | dp.add_handler(CommandHandler("ping", ping)) | ||||
| @@ -301,10 +366,6 @@ def main(): | |||||
| dp.add_handler(CommandHandler("watched", watched)) | dp.add_handler(CommandHandler("watched", watched)) | ||||
| updater.start_polling() | updater.start_polling() | ||||
| updater.idle() | updater.idle() | ||||