| @@ -11,10 +11,10 @@ from config import config, series | |||||
| from betaseries import login_beta, get_title_only, to_see, seen, get_episode_code, what_2see, get_ep_code_series | from betaseries import login_beta, get_title_only, to_see, seen, get_episode_code, what_2see, get_ep_code_series | ||||
| from telegram_api import send_message | from telegram_api import send_message | ||||
| # Activer / Désactiver le debuggage {Projet : pas encore utilisé} | |||||
| # Activer / Désactiver le debuggage {Projet : pas encore utilisé} | |||||
| DEBUG = True | DEBUG = True | ||||
| # Recupération de la configuration dans config.py | |||||
| # Recupération de la configuration dans config.py | |||||
| client_id = config['client_id'] | client_id = config['client_id'] | ||||
| login= config['login'] | login= config['login'] | ||||
| password = config['password'] | password = config['password'] | ||||
| @@ -31,20 +31,20 @@ def help(update, context): | |||||
| message = "Commandes du bot : " + '\n \n' | message = "Commandes du bot : " + '\n \n' | ||||
| message += u"/help - Permet d'afficher ce message \n" | message += u"/help - Permet d'afficher ce message \n" | ||||
| message += u"/start - Afficher le message d'accueil \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"/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"/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"/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"/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" | |||||
| message += u"/watched - Permet de marquer un épisode comme 'vu' dans la liste de la commande /2see" | |||||
| update.message.reply_text(message) | update.message.reply_text(message) | ||||
| def start(update, context): | def start(update, context): | ||||
| message = "Bonjour, " + "\n" + "je suis un bot telegram vous permettant de marquer une serie comme 'vu' sur votre compte Betaseries" + '\n \n' | 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 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" | message += u"Pour voir la liste des commandes, tapez /help" | ||||
| update.message.reply_text(message) | update.message.reply_text(message) | ||||
| return | return | ||||
| @@ -54,18 +54,18 @@ def ping(update, context): | |||||
| return | return | ||||
| def init(update, context): | def init(update, context): | ||||
| update.message.reply_text("Tentative de connexion à Betaseries...") | |||||
| update.message.reply_text("Tentative de connexion à Betaseries...") | |||||
| data = login_beta() | data = login_beta() | ||||
| if data == False : | if data == False : | ||||
| error = "Impossible d'interroger l'API\n Code:" + str(request.status_code) | error = "Impossible d'interroger l'API\n Code:" + str(request.status_code) | ||||
| update.message.reply_text(error) | update.message.reply_text(error) | ||||
| return | return | ||||
| #Si la fonction ne renvoie pas "False", on considère que le token est bon ! | |||||
| #Si la fonction ne renvoie pas "False", on considère que le token est bon ! | |||||
| betauser = data | betauser = data | ||||
| message = "Token utilise pour Betaseries : " + betauser | message = "Token utilise pour Betaseries : " + betauser | ||||
| # à editer : nous utiliserons plutot la librairie de telegram lorsque nous répondons à une commande. l'API sera utile pour le script | |||||
| # à editer : nous utiliserons plutot la librairie de telegram lorsque nous répondons à une commande. l'API sera utile pour le script | |||||
| API_Message = 'https://api.telegram.org/' | API_Message = 'https://api.telegram.org/' | ||||
| API_Message += 'bot' + token_bot + '/sendMessage?chat_id=' + user_id + '&text=' | API_Message += 'bot' + token_bot + '/sendMessage?chat_id=' + user_id + '&text=' | ||||
| # | # | ||||
| @@ -95,7 +95,7 @@ def repeat(update, context): | |||||
| else : | else : | ||||
| message = context.args[0] | message = context.args[0] | ||||
| print("phrase envoyée : ", message) | |||||
| print("phrase envoyée : ", message) | |||||
| if message == "Tu es genial": | if message == "Tu es genial": | ||||
| @@ -107,7 +107,7 @@ def repeat(update, context): | |||||
| def latest(update, context): | def latest(update, context): | ||||
| message = 'à voir : \n' | |||||
| message = 'Ã voir : \n' | |||||
| for i in range(len(series)): | for i in range(len(series)): | ||||
| thetvdb_id = series[i] | thetvdb_id = series[i] | ||||
| episode = to_see(thetvdb_id) | episode = to_see(thetvdb_id) | ||||
| @@ -119,7 +119,7 @@ def latest(update, context): | |||||
| def liste(update, context): | def liste(update, context): | ||||
| message = '' | message = '' | ||||
| message = u'Liste des séries surveillées : ' + '\n' | |||||
| message = u'Liste des séries surveillées : ' + '\n' | |||||
| for i in range(len(series)): | for i in range(len(series)): | ||||
| message += '- ' + get_title_only(series[i]) + '\n' | message += '- ' + get_title_only(series[i]) + '\n' | ||||
| @@ -214,7 +214,7 @@ 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() | ||||
| # 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 | |||||
| # 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 callback == 1: | if callback == 1: | ||||
| if query['data'] == u'1' : | if query['data'] == u'1' : | ||||
| if type(series) == str : | if type(series) == str : | ||||
| @@ -247,7 +247,7 @@ def button(update, context): | |||||
| 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() | ||||
| send_message(message) | send_message(message) | ||||
| return | return | ||||
| @@ -265,48 +265,50 @@ 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 : | |||||
| longueur = int(len(list)) | |||||
| print("Longueur de la liste : ", longueur) | |||||
| if longueur == 2 : | |||||
| 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])] | ||||
| ] | ] | ||||
| if len(list) == 3 : | |||||
| if longueur == 3 : | |||||
| 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])], | ||||
| [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2])] | [ InlineKeyboardButton(get_ep_code_series(file[2]), callback_data=file[2])] | ||||
| ] | ] | ||||
| if len(list) == 4 : | |||||
| if longueur == 4 : | |||||
| 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])], | ||||
| [ 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[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])] | ||||
| ] | ] | ||||
| if len(list) == 5 : | |||||
| if longueur == 5 : | |||||
| 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])], | ||||
| [ 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[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[4]), callback_data=file[4])] | ||||
| ] | ] | ||||
| if len(list) == 6 : | |||||
| if longueur == 6 : | |||||
| 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])], | ||||
| [ 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[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[4]), callback_data=file[4]), InlineKeyboardButton(get_ep_code_series(file[5]), callback_data=file[5])] | ||||
| ] | ] | ||||
| if len(list) == 7 : | |||||
| if longueur == 7 : | |||||
| 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])], | ||||
| [ 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[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[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[6]), callback_data=file[6])] | ||||
| ] | ] | ||||
| if len(list) == 8 : | |||||
| if longueur == 8 : | |||||
| 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])], | ||||
| [ 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[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[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[6]), callback_data=file[6]), InlineKeyboardButton(get_ep_code_series(file[7]), callback_data=file[7])] | ||||
| ] | ] | ||||
| if len(list) == 9 : | |||||
| if longueur == 9 : | |||||
| 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])], | ||||
| [ 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[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])], | ||||
| @@ -314,7 +316,7 @@ 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[8]), callback_data=file[8])] | ||||
| ] | ] | ||||
| if len(list) == 10 : | |||||
| if longueur == 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])], | ||||
| [ 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[2]), callback_data=file[2]), InlineKeyboardButton(get_ep_code_series(file[3]), callback_data=file[3])], | ||||
| @@ -322,8 +324,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]) ] | ||||
| ] | ] | ||||
| else : | |||||
| if longueur > 10 or longueur == 1 : | |||||
| send_message("Un probleme est survenu lors de l'interrogation de la liste") | send_message("Un probleme est survenu lors de l'interrogation de la liste") | ||||
| send_message("Longueur de la liste : ") | |||||
| send_message(str(longueur)) | |||||
| send_message(str(type(longueur))) | |||||
| return | return | ||||
| reply_markup = InlineKeyboardMarkup(choix) | reply_markup = InlineKeyboardMarkup(choix) | ||||
| update.message.reply_text("Selectionnez l'episode que vous avez vu", reply_markup=reply_markup) | update.message.reply_text("Selectionnez l'episode que vous avez vu", reply_markup=reply_markup) | ||||
| @@ -334,7 +339,7 @@ def watched(update, context): | |||||
| def main(): | def main(): | ||||
| updater = Updater(token_bot, use_context=True) | updater = Updater(token_bot, use_context=True) | ||||
| print("Bot connecté") | |||||
| print("Bot connecté") | |||||
| dp = updater.dispatcher | dp = updater.dispatcher | ||||
| @@ -372,4 +377,4 @@ def main(): | |||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||
| main() | |||||
| main() | |||||