@Yura_nu_davai_rabotai
Изучаю с++ примерно 2 месяца

Использую библиотеку telebot, можно ли вставить стикеры в сообщение?

Я использую библиотеку Python Telebot. Мне надо что бы я смог изменить шрифт текста, который я вывожу в телеграмме, а именно жирний шрифт и подчёркнутый текст. Так же мне надо в одно сообщение вставить стикеры. Я видел что в какой-то библиотеке есть такая возможность выводить стикеры и там есть ID стикеров. Есть ли возможность узнать этот список именно в этой библиотеке?
  • Вопрос задан
  • 1460 просмотров
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix
yellow
Мне надо что бы я смог изменить шрифт текста, который я вывожу в телеграмме, а именно жирний шрифт и подчёркнутый текст.


Используйте соответствующий Markdown:
https://core.telegram.org/bots/api#formatting-options

При отправке сообщения пишите ваш текст, и в send_message передайте аргумент parse_mode, вам подойдет обычный "Markdown"
bot.send_message(chat_id, 'Обычный текст\n*Жирный*\n__подчерктнутый__', parse_mode='Markdown')


Так же мне надо в одно сообщение вставить стикеры

Стикеры нельзя вставить в какое-то сообщение, стикер и есть отдельное сообщение. Если имеется в виду просто отправка стикеров -
# sendSticker
sti = open('/tmp/sti.webp', 'rb')
tb.send_sticker(chat_id, sti)
tb.send_sticker(chat_id, "FILEID")

Можете отправить любой с ПК, если он в формате webp, либо передать fileid.
Сомневаюсь, что можно как нибудь достать все ID через bot API, скорее всего только через клиентский, но fileid можно узнавать хотя бы как-то так:
@bot.message_handler(content_types=['sticker'])
def send_sticker_id(message):
    bot.send_message(message.chat.id, f'This sticker id: {message.sticker.file_id}')

ну и уже затем делать bot.send_sticker(chat_id, sticker_id), где sticker_id - id, который получили из кода выше
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы