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.

