Бот отправляет одни и те же картинки, хотя по идеи должен случайные. Подскажите пожалуйста как исправить
import telebot
token: str = "token"
bot = telebot.TeleBot(token)
@bot.message_handler(commands=["start", "help"])
def start_help_command(message: telebot.types.Message):
bot.reply_to(message, "Я могу отправить тебе кота.")
bot.reply_to(message, """Вот список моих комманд
/cat - случайное фото кота
/gif - случайная гифка с котом
/tag - добавить описание
""")
@bot.message_handler(commands=["cat"])
def cats_photo(message: telebot.types.Message):
bot.send_photo(message.chat.id, "https://cataas.com/cat")
@bot.message_handler(commands=["gif"])
def cats_gif(message: telebot.types.Message):
bot.send_video(message.chat.id, "https://cataas.com/cat/gif", None)
@bot.message_handler(commands=['tag'])
def tag(message: telebot.types.Message):
tags: str = "Введите пожалуйста описание для кота на английском, например, -- orange - рыжий''"
sms = bot.send_message(message.chat.id, tags)
bot.register_next_step_handler(sms, pszh)
def tag_photo(message: telebot.types.Message):
tag = message.text
bot.send_photo(message.chat.id, f"https://cataas.com/cat/{tag}")
bot.polling(none_stop=True, interval=0)
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
В TG-API для отправки изображений не достаточно просто передавать URL. Нужно указать на конкретный файл (изображения, видео и т.д.), который будет загружен на сервер TG и уже от туда отправлен пользователю.
import telebot
import random
token: str = "token"
bot = telebot.TeleBot(token)
@bot.message_handler(commands=["cat"])
def cats_photo(message: telebot.types.Message):
number_random_param = random.randint(1, 1000000)
cat_url = f"https://cataas.com/cat?{number_random_param}"
bot.send_photo(message.chat.id, cat_url)
bot.polling(none_stop=True, interval=0)