-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()