@fright002

При отправке ботом гифки в формате .photo вместе с ней без проблем отправляется и текст, но при отправке в формате animation текст не пишется.?

При методе bot.send.photo(call.message.chat.id, 'Анимация', 'Текст' ) текст отправляется без проблем, но при методе bot.send.animation(call.message.chat.id, 'Анимация', 'Текст') текст не отправляется в сообщении

Так выглядит при bot.send.photo621d1a3c00097061752229.png
А так при bot.send.animation621d1a58a488c666550172.png

Предполагаю, что проблема в том, что при отправке GIF в телеграме нельзя прикрепить сообщение. Можно ли это как-то решить?
def komandy(message):
	if message.chat.type == 'private':
		#РАСПИСАНИЕ
		if message.text == 'Расписание':			
			markup2 = types.InlineKeyboardMarkup(row_width=2)
			item1 = types.InlineKeyboardButton('1a', callback_data='1a')
			item2 = types.InlineKeyboardButton('1b', callback_data='1b')
			item3 = types.InlineKeyboardButton('1c', callback_data='1c')
			item4 = types.InlineKeyboardButton('1d', callback_data='1d')
			item5 = types.InlineKeyboardButton('2a', callback_data='2a')
			item6 = types.InlineKeyboardButton('2b', callback_data='2b')
			item7 = types.InlineKeyboardButton('2c', callback_data='2c')
			item8 = types.InlineKeyboardButton('2d', callback_data='2d')
			markup2.add(item1, item2, item3, item4, item5, item6, item7, item8)
			bot.send_message(message.chat.id, 'Выбери свой класс', reply_markup=markup2)
			#КАНИКУЛЫ
		elif message.text == 'Каникулы':
			pickanikuli = open('kanikuli.png', 'rb')
			bot.send_photo(message.chat.id, pickanikuli, 'Даты каникул на второе полугодие 2022 года')
			#МОНЕТКА
		elif message.text == 'Монетка':
			markup3 = types.InlineKeyboardMarkup(row_width=2)
			item21 = types.InlineKeyboardButton('Орёл', callback_data='orel')
			item22 = types.InlineKeyboardButton('Решка', callback_data='reshka')
			markup3.add(item21, item22)
			bot.send_message(message.chat.id,"Орёл или решка?", reply_markup=markup3)

		
		




@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
	monetka1 = open('coin-flip-20.gif', 'rb')
	orelilireshka = ["Результат: Орёл", "Результат: Решка"]
	pic1a = open('1a.png', 'rb')
	pic1b = open('1b.png', 'rb')
	pic1c = open('1c.png', 'rb')
	pic1d = open('1d.png', 'rb')
	pic2a = open('2a.png', 'rb')
	pic2b = open('2b.png', 'rb')
	pic2c = open('2c.png', 'rb')
	pic2d = open('2d.png', 'rb')
	

	try:
		if call.message:
			if call.data =='1a':
				bot.send_photo(call.message.chat.id, pic1a, 'Расписание "1а" класса')
			elif call.data =='1b':
				bot.send_photo(call.message.chat.id, pic1b, 'Расписание "1б" класса')
			elif call.data == '1c':
				bot.send_photo(call.message.chat.id, pic1c, 'Расписание "1с" класса')
			elif call.data =='1d':
				bot.send_photo(call.message.chat.id, pic1d, 'Расписание "1д" класса')
			elif call.data =='2a':
				bot.send_photo(call.message.chat.id, pic2a, 'Расписание "2а" класса')
			elif call.data == '2b':
				bot.send_photo(call.message.chat.id, pic2b, 'Расписание "2б" класса')
			elif call.data =='2c':
				bot.send_photo(call.message.chat.id, pic2c, 'Расписание "2с" класса')
			elif call.data =='2d':
				bot.send_photo(call.message.chat.id, pic2d, 'Расписание "2д" класса')
			elif call.data =='orel':

				bot.send_photo(call.message.chat.id, monetka1, choice(orelilireshka))  #ЗДЕСЬ
			elif call.data == 'reshka':
				bot.send_photo(call.message.chat.id, monetka1, choice(orelilireshka))  #ЗДЕСЬ
			else:
				('Такого класса нет в списке')
	except Exception as e:
		print(repr(e))			

bot.polling(none_stop=True)
  • Вопрос задан
  • 750 просмотров
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Открывать доку и смотреть что можно в эту функцию передавать.
https://core.telegram.org/bots/api#sendanimation

Есть параметр caption, который отвечает за текст
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы