Send Photo to Telegram Bot Python

Asked

Viewed 344 times

-1

all good? I am developing a bot in Python. However, in my code I am not able to make him reply with photos. Only message. Ex. I would like to send the message "photo" and the bot send a photo. Can you help me? NOTE: Sorry for the indentation. is because I was not able to paste the code as code.

    #Código
    import requests
    import time
    import json
    import os
    import telegram
    import telebot

    class TelegramBot:
        def __init__(self):
            token = '***'
            self.url_base = f"https://api.telegram.org/bot{token}/"
    
    
#Iniciar
def Iniciar(self):
    update_id = None
    while True:
        atualizacao = self.obter_novas_mensagens(update_id)
        dados = atualizacao["result"]
        if dados:
            for dado in dados:
                update_id = dado['update_id']
                mensagem = str(dado["message"]["text"])
                chat_id = dado["message"]["from"]["id"]
                eh_primeira_mensagem = int(
                    dado["message"]["message_id"]) == 1
                resposta = self.criar_resposta(
                    mensagem, eh_primeira_mensagem)
                self.responder(resposta, chat_id)

# Obter mensagens
def obter_novas_mensagens(self, update_id):
    link_requisicao = f'{self.url_base}getUpdates?timeout=100'
    if update_id:
        link_requisicao = f'{link_requisicao}&offset={update_id + 1}'
    resultado = requests.get(link_requisicao)
    return json.loads(resultado.content)



# Criar uma resposta
def criar_resposta(self, mensagem, eh_primeira_mensagem):
    if eh_primeira_mensagem == True or mensagem in ('sim', 'Sim', 'SIM'):
        return f'''Escolha as opções no menu.'''
    else:
        return f'''Olá, tudo bem?'''
# Responder
def responder(self, resposta, chat_id):
    link_requisicao = f'{self.url_base}sendMessage?chat_id={chat_id}&text={resposta}'
    requests.get(link_requisicao)


    bot = TelegramBot()
    bot.Iniciar()

1 answer

0

Browser other questions tagged

You are not signed in. Login or sign up in order to post.