@@ -8,7 +8,7 @@ import json
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
from config import config, series
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
from telegram_api import send_message
# Activer / Désactiver le debuggage {Projet : pas encore utilisé}
# 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 :
if type(series) == str :
file_path = 'latest/' + series + '.json'
file_path = 'latest/' + series + '.json'
print(file_path)
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[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[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)
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Selectionnez une reponse', reply_markup=reply_markup)
update.message.reply_text('Selectionnez une reponse', reply_markup=reply_markup)
@@ -159,36 +201,78 @@ def ive_seen(update, context):
def button(update, context):
def button(update, context):
query = update.callback_query
query = update.callback_query
query.answer()
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
# 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():
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
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("help", start))
dp.add_handler(CommandHandler("help", start))
@@ -209,9 +293,18 @@ def main():
dp.add_handler(CommandHandler("latest", latest))
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))
updater.dispatcher.add_handler(CallbackQueryHandler(button))
dp.add_handler(CommandHandler("2see", what2see))
dp.add_handler(CommandHandler("watched", watched))
updater.start_polling()
updater.start_polling()
updater.idle()
updater.idle()