Forum
>>
Principianti
>>
bot telegram errore (bot.message_loop(inizio, NomeUtente, Password, orario))
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Nikappa_ |
2018-04-01 16:28:56 - bot telegram errore (bot.message_loop(inizio, NomeUtente, Password, orario))
|
bot.message_loop(inizio, NomeUtente, Password, orario) mi da un sacco di errori
se lo uso per una funzione alla volta va tutto liscio, quando le unisco no...come posso risolvere? grazie già in anticipo errori: Traceback (most recent call last): File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 1183, in get_from_telegram_server allowed_updates=allowed_upd) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 1000, in getUpdates return self._api_request('getUpdates', _rectify(p)) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 491, in _api_request return api.request((self._token, method, params, files), **kwargs) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\api.py", line 153, in request fn, args, kwargs = _transform(req, **user_kw) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\api.py", line 116, in _transform kwargs = _compose_kwargs(req, **user_kw) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\api.py", line 104, in _compose_kwargs kw['timeout'] = params['timeout'] + _default_timeout(req, **user_kw) TypeError: unsupported operand type(s) for +: 'function' and 'int' Exception in thread Thread-3: Traceback (most recent call last): File "C:\Program Files (x86)\Python36-32\lib\threading.py", line 916, in _bootstrap_inner self.run() File "C:\Program Files (x86)\Python36-32\lib\threading.py", line 864, in run self._target(*self._args, **self._kwargs) File "C:\Program Files (x86)\Python36-32\lib\site-packages\telepot\__init__.py", line 1202, in get_from_telegram_server time.sleep(relax) TypeError: an integer is required (got type function) codice: import telepot import sys, time from pprint import pprint import datetime from time import gmtime, strftime from telepot.loop import MessageLoop #WhiteList WLO = set('1234567890:') #white list orario WLNU = set('1234567890') #whitelist nome utente def inizio(msg): content_type,chat_type , chat_id = telepot.glance(msg) messaggioS = (msg['text'])#messaggio start if messaggioS == "/start": print("è stata mandata una nuova descrizione") bot.sendMessage(chat_id, "Questo bot ti permette di ricevere i compiti del giorno dopo ad un determinato orario che tu sceglierai in seguito") bot.sendMessage(chat_id, "basterà dare le credenziali del registro elettronico al bot (le quali non verranno salvate, ma visto che il sito è protetto da password il bot prima dovrà accedere) e poi un orario") bot.sendMessage(chat_id, "Per ogni cosa scrivimi in privato (@Lorenzo Gaudino) \nManda un messaggio con scritto "'ok'"per startare il bot") if messaggio == "ok" or "OK" or "Ok" or "oK" or '"ok"' or '"OK"' or '"Ok"': print("è stato mandato un messaggio di inizio") bot.sendMessage(chat_id, "manda il tuo nome utente, non verrà visualizzato ne dalla consol e non verrà nemmeno salvato dal bot") else: bot.sendMessage(chat_id, "manda 'ok' in chat") def NomeUtente(msg): content_type, chat_type, chat_id = telepot.glance(msg) messaggioNU = (msg['text']) NU = messaggioNU messaggioNUf =''.join(filter(WLNU.__contains__, NU))# messaggioNUf = messaggio filtrato if messaggioNU == messaggioNUf: contenuto = NU fileNomeUtente = open("C:\Program Files (x86)\Python36-32\configFileNomeUtente.txt","w") fileNomeUtente.write(contenuto) fileNomeUtente.close() print("un nuovo utente è stato registrato") bot.sendMessage(chat_id, "Scrivi la tua password") else: print("Nome Utente errato") bot.sendMessage(chat_id, "il nome utente non è valido, deve essere composto da 4 cifre (es 2332)") def Password(msg): content_type, chat_type, chat_id = telepot.glance(msg) messaggiop = (msg['text'])#p password PW = messaggiop #PW password if PW == messaggiop: contenuto = PW FilePassword = open("C:\Program Files (x86)\Python36-32\configFilePassword.txt","w") FilePassword.write(contenuto) FilePassword.close() print("una nuova password è stata registrata") bot.sendMessage(chat_id, "A che ora vuoi ricevere la notifica dei compiti? usa il formato Ora:Minuti (esmpio 15:30)") def orario(msg): content_type, chat_type, chat_id = telepot.glance(msg) messaggioO = (msg['text'])#o orario O = messaggioO #O orario messaggioOf =''.join(filter(WLO.__contains__, O)) if messaggioO == messaggioOf: contenuto = O fileOrario = open("C:\Program Files (x86)\Python36-32\configFileOrario.txt","w") fileOrario.write(contenuto) fileOrario.close() print("un nuovo orario è stato stabilito") bot.sendMessage(chat_id, "tutte le impostazioni sono state impostate \nora ogni giorno alle "+O+" riceverai i compiti del giorno dopo") else: bot.sendMessage(chat_id, "formato orario sbagliato") #Nome utente, password e orario: NU = open("C:\Program Files (x86)\Python36-32\configFileNomeUtente.txt","r").read() PW = open("C:\Program Files (x86)\Python36-32\configFilePassword.txt","r").read() O = open("C:\Program Files (x86)\Python36-32\configFileOrario.txt","r").read() bot = telepot.Bot("xxxxxxxxxxxxxxxxxxxxxxx") bot.message_loop(inizio, NomeUtente, Password, orario) #questo è quello che da l'errore #inizio, NomeUtente, Password, orario while 1: time.sleep(3) --- Ultima modifica di ㎝ in data 2018-04-01 17:51:44 --- |
|
Scritto da Daniele aka Palmux |
2018-04-03 13:41:59 - Re: bot telegram errore (bot.message_loop(inizio, NomeUtente, Password, orario))
|
Non ho esperienza col bot che tenti di utilizzare, ma ti do due consigli:
1. Cerca di isolare il problema e proporre solo la sezione incriminata; 2. Se non ricevi risposta, puoi utilizzare gli altri nostri canali. In particolare sul canale Telegram, trovi il link in questa sezione, ho visto più volte argomenti inerenti. Ciao e happy coding. |
Pagina: 1
Esegui il login per scrivere una risposta.