GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Alguém me ajuda tou usando lib telepot e deu erro syntax tava adicionado uma API ai deu erro


#1
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
# encoding: utf-8

#Creditos: conec_ne
#          ssd_code
#          CezarHpx           

import time
import random
import datetime
from PythonColorize import *
import telepot
import requests
import json

## BOT Config
today = datetime.datetime.today()
t = today.strftime("[%H:%M:%S] - ")
bot = telepot.Bot('380985491:AAGJGlC1qge53EX9yndyoXWSeaGcDnIQrw0')

def handle(msg):
   chat_id = msg['chat']['id']
   txt = msg['text'].split(' ')

#a token tem que encostar na aspa. Não pode ter espaço nem antes do primeiro caractere e nem depois do último.
NomeBot = "MundoOcultobot"
#se quiser editar esse Seu bot, edite, não é obrigatório, somente a token.

## BOT LANG
info_id = "Nome: *{}*\nUsuário: {}\nID: {}"
dados = "O Dado parou no numero:  🎲 {}"

def handle(msg):
### BOT PARAMTS
    chat_id = msg['chat']['id']
    chat_type = msg['chat']['type']
    txt = msg['text'].split(' ')
    from_id = msg['from']['id']
    from_first_name = msg['from']['first_name']
    from_username = "@" + msg['from']['username']
    texto = msg['text']
    message_id = msg['message_id']
    print(colors.lg_red + t + colors.lg_blue + ' Mensagem executada: %s' % colors.lg_red + texto + colors.nocolor)

### BOT COMANDOS
    if texto.lower() == '/dados':
        bot.sendMessage(chat_id, dados.format(random.randint(1,6)), "Markdown")
    elif texto.lower() == '/hora':
        bot.sendMessage(chat_id, str(datetime.datetime.now()))
    elif texto.lower() == '/start':
        bot.sendMessage(chat_id, "Bot iniciado")
    elif texto.lower() == '/stop':
        bot.sendMessage(chat_id, "Bot parou")
    elif texto.lower() == '/id':
        bot.sendMessage(chat_id, info_id.format(from_first_name, from_username,  str(from_id)), "Markdown")
    if txt[0].lower() == '/bin':
        texto = msg[u'text'].split(' ', 1)[1]
        req = requests.get('https://bins.payout.com/api/v1/bins/'+texto)  
        BIN = json.loads(req.text)
        bot.sendMessage(chat_id,
                        """
Bin: {}
Bandeira: {}
Banco: {}
Tipo: {} 
Pais: {}""".format(BIN["bin"],
                   BIN["brand"],
                   BIN["issuer"],
                   BIN["type"],
                   BIN["country_code"]))
    
     if txt[0].lower() == '/cod':
         texto = msg[u'text'].split('', 1)[1]
         req = requests.get('https://api.vitortec.com/correios/track/v1.3/'+texto)
         COR = json.loads(req.text)
         bot.senMessage(chat_id,              '''

Tipo: {}
Data: {}   
hora: {}	
descrisao: {}
recebedor: {}'''.format(COR["tipo"],     
                        COR["data"],
                        COR["hora"],
                        COR["descrisao"],
                        COR["recebedor"],

        ### Executando
print(colors.lg_red + t + colors.lg_cyan + NomeBot + " iniciado")
time.sleep(2)
bot.message_loop(handle)
while 1:
    time.sleep(10)

#2

Fala @Mateus_Nascimento_Do,

Acredito que o erro possa estar na linha 87, COR[“recebedor”],. O problema é que você usa a função format e antes disso você faz a chamada da função bot.senMessage, porém você não fecha os parenteses da chamada dessas duas funções.

Faça o seguinte teste. na linha 87 adicione o fechamento de dois parenteses, ficando assim
COR[“recebedor”],))

Se isso não resolver seu problema, coloque a mensagem do erro que está tendo.


#3

Oi, sou um dos criadores desse script (a base).
Vi agora sua questão. Siga o conselho acima E edite o último ‘bot.sendMessage’ (bote o n que está faltando)

E meu user atual no telegram é @DevHpx