Procházet zdrojové kódy

Correction d'un probleme concernant la commande /watched

master
TheBidouilleur před 7 měsíci
rodič
revize
96c3d4d19e
1 změnil soubory, kde provedl 35 přidání a 30 odebrání
  1. +35
    -30
      bot.py

+ 35
- 30
bot.py Zobrazit soubor

@@ -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 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

# Recupération de la configuration dans config.py
# Recupération de la configuration dans config.py
client_id = config['client_id']
login= config['login']
password = config['password']
@@ -31,20 +31,20 @@ 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"/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"/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"
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):
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"
update.message.reply_text(message)
return
@@ -54,18 +54,18 @@ def ping(update, context):
return
def init(update, context):
update.message.reply_text("Tentative de connexion à Betaseries...")
update.message.reply_text("Tentative de connexion à Betaseries...")
data = login_beta()
if data == False :
error = "Impossible d'interroger l'API\n Code:" + str(request.status_code)
update.message.reply_text(error)
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
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 += 'bot' + token_bot + '/sendMessage?chat_id=' + user_id + '&text='
#
@@ -95,7 +95,7 @@ def repeat(update, context):
else :
message = context.args[0]

print("phrase envoyée : ", message)
print("phrase envoyée : ", message)
if message == "Tu es genial":
@@ -107,7 +107,7 @@ def repeat(update, context):


def latest(update, context):
message = 'à voir : \n'
message = 'à voir : \n'
for i in range(len(series)):
thetvdb_id = series[i]
episode = to_see(thetvdb_id)
@@ -119,7 +119,7 @@ def latest(update, context):

def liste(update, context):
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)):
message += '- ' + get_title_only(series[i]) + '\n'
@@ -214,7 +214,7 @@ def ive_all_seen(update, context):
def button(update, context):
query = update.callback_query
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 query['data'] == u'1' :
if type(series) == str :
@@ -247,7 +247,7 @@ def button(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()
send_message(message)
return
@@ -265,48 +265,50 @@ def watched(update, context):
for i in range(len(list)) :
file_path = 'series/' + list[i] + '.json'
file.append(file_path)
if len(list) == 2 :
longueur = int(len(list))
print("Longueur de la liste : ", longueur)

if longueur == 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 :
if longueur == 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 :
if longueur == 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 :
if longueur == 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 :
if longueur == 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 :
if longueur == 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 :
if longueur == 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 :
if longueur == 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])],
@@ -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[8]), callback_data=file[8])]
]
if len(list) == 10 :
if longueur == 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])],
@@ -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[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("Longueur de la liste : ")
send_message(str(longueur))
send_message(str(type(longueur)))
return
reply_markup = InlineKeyboardMarkup(choix)
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():
updater = Updater(token_bot, use_context=True)
print("Bot connecté")
print("Bot connecté")
dp = updater.dispatcher
@@ -372,4 +377,4 @@ def main():


if __name__ == '__main__':
main()
main()

Načítá se…
Zrušit
Uložit