Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib2
- import json
- import time
- apiToken='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' #ALTERAR
- chatId='123456789'#ALTERAR
- #ENVIA MSG PELO TELEGRAM, SE ENVIADO idChat, ele envia para esse id, senao ele envia para o id cadastrado
- def enviaMsg(msg, idChat='0'):
- if idChat == '0':
- idChat = chatId
- #with urllib.request.urlopen("https://api.telegram.org/bot"+apiToken+"/sendMessage?chat_id="+idChat+"&text="+msg) as url:
- url=urllib2.urlopen("https://api.telegram.org/bot"+apiToken+"/sendMessage?chat_id="+idChat+"&text="+msg)
- data = json.loads(url.read().decode())
- print(data)
- #RECEBE AS MSGS ENVIADAS PARA O BOT
- def recebeMsg():
- #SE EXISTIR ARQUIVO, LE O ULTIMO ID DE MSG LIDO, CASO CONTRARIO DEFINE COMO 0 O ID DE MSG
- try:
- arq = open('ultimoid.txt', 'r')
- texto = arq.readlines()
- for linha in texto :
- intUltimoId=linha
- arq.close()
- except:
- intUltimoId=0
- #with urllib.request.urlopen("https://api.telegram.org/bot"+apiToken+"/getUpdates??offset=30") as url:
- url=urllib2.urlopen("https://api.telegram.org/bot"+apiToken+"/getUpdates??offset=30")
- data = json.loads(url.read().decode())
- intTotalMsg = len(data['result']) #VERIFICA O TAMANHO DO ARRAY = QTD MSGS
- for x in range(0, intTotalMsg):
- if data['result'][x]['message']['message_id'] > int(intUltimoId): #VERIFICA SE O ID DA MENSAGEM EH SUPERIOR AO ULTIMO LIDO (MSG NOVA)
- if str(data['result'][x]['message']['chat']['id']) == chatId: #VERIFICA SE O CHATID ESTA AUTORIZADO, SENAO ELE RESPONDE COM O ID DO CHAT PARA CADASTRAR A AUTORIZACAO
- executaMenu(data['result'][x]['message']['text'], data['result'][x])
- else:
- chatid(str(data['result'][x]['message']['chat']['id']))
- intUltimoId = data['result'][x]['message']['message_id']
- #SALVA O ULTIMO ID LIDO
- arq = open('ultimoid.txt', 'w')
- arq.write(str(intUltimoId))
- arq.close()
- #AQUI VC DEFINE QUAIS OS COMANDOS QUE O BOT VAI RESPONDER
- def executaMenu(strMenu, dados):
- if strMenu.find('/start') == 0:
- menu()
- elif strMenu.find('/oi') == 0:
- oi()
- elif strMenu.find('/chatid') == 0:
- chatid(str(dados['message']['chat']['id']))
- #funcao para executar /start
- def menu():
- strMenu = "------------------- MENU -------------------%0A /start = Este menu %0A /oi = Fala oi %0A /chatid = ChatID"
- enviaMsg(strMenu)
- #funcao para executar /oi
- def oi():
- enviaMsg('Oi tudo bem?')
- #funcao para executar /chatid
- def chatid(chatid):
- enviaMsg("Seu chatID: "+chatid, chatid)
- #LOOP INFINITO VENDO SE TEM MENSAGEM NOVA
- while 1:
- time.sleep(1)
- recebeMsg()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement