@@ -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, get_episode_code
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
# Activer / Désactiver le debuggage {Projet : pas encore utilisé}
@@ -114,7 +114,11 @@ def liste(update, context):
def ive_seen(update, context):
def ive_all_seen(update, context):
global callback
callback = 1
send_message(u'Selectionnez la serie dont vous avez vu le dernier episode !')
if type(series) == str :
file_path = 'latest/' + series + '.json'
print(file_path)
@@ -146,8 +150,46 @@ def ive_seen(update, context):
[ 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')]
]
if len(series) == 6 :
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'), InlineKeyboardButton(get_title_only(series[5]), callback_data='6')]
]
if len(series) == 7 :
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'), InlineKeyboardButton(get_title_only(series[5]), callback_data='6')],
[ InlineKeyboardButton(get_title_only(series[6]), callback_data='7')]
]
if len(series) == 8 :
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'), InlineKeyboardButton(get_title_only(series[5]), callback_data='6')],
[ InlineKeyboardButton(get_title_only(series[6]), callback_data='7'), InlineKeyboardButton(get_title_only(series[7]), callback_data='8')]
]
if len(series) == 9 :
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'), InlineKeyboardButton(get_title_only(series[5]), callback_data='6')],
[ InlineKeyboardButton(get_title_only(series[6]), callback_data='7'), InlineKeyboardButton(get_title_only(series[7]), callback_data='8')],
[ InlineKeyboardButton(get_title_only(series[8]), callback_data='9')]
]
if len(series) == 10 :
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'), InlineKeyboardButton(get_title_only(series[5]), callback_data='6')],
[ InlineKeyboardButton(get_title_only(series[6]), callback_data='7'), InlineKeyboardButton(get_title_only(series[7]), callback_data='8')],
[ InlineKeyboardButton(get_title_only(series[8]), callback_data='9'), InlineKeyboardButton(get_title_only(series[9]), callback_data='10') ]
]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Selectionnez une reponse', reply_markup=reply_markup)
@@ -159,36 +201,78 @@ def ive_seen(update, context):
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
if callback == 1:
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
seen(series[number])
episode = get_title_only(series[number]) + ' | ' + get_episode_code(series[number])
query.edit_message_text(text="Choix de la series : {}".format(episode))
return
if callback == 2 :
with open(query['data']) as 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'])
number = int(query['data']) - 1
query.edit_message_text(text="Choix de la series : ".format(get_title_only(number) ))
def what2see(update, context):
send_message("Voici la liste des épisodes que vous devez voir :")
message = what_2see()
send_message(message)
return
def watched(update, context):
global callback
callback = 2
# 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))
list=[]
file=[]
with open('cache_to_see.json', 'r') as list_file:
list = json.load(list_file)
for i in range(len(list)) :
file_path = 'series/' + list[i] + '.json'
file.append(file_path)
if len(list) == 10 :
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]), 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)
def main():
updater = Updater(token_bot, use_context=True)
print("Bot connecté")
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("help", start))
@@ -209,9 +293,18 @@ def main():
dp.add_handler(CommandHandler("latest", latest))
dp.add_handler(CommandHandler("seen", ive_seen))
dp.add_handler(CommandHandler("all_ seen", ive_all _seen))
updater.dispatcher.add_handler(CallbackQueryHandler(button))
dp.add_handler(CommandHandler("2see", what2see))
dp.add_handler(CommandHandler("watched", watched))
updater.start_polling()
updater.idle()