python InlineKeyboardMarkup c emoji
Подскажите, как вставить в InlineKeyboardMarkup emoji. Я поднял django на котором пользователь сможет создавать данные для бота. По АПИ бот забирает данные и потом выводит контент для пользователя.
Вот код который
@bot.message_handler(commands=['menu'])
def exchange_command(message, data=get_main_data()):
keyboard = telebot.types.InlineKeyboardMarkup()
get_user()
if message.chat.id not in users:
bot.send_message(message.chat.id, 'У разі випадкової помилки скористайтесь\n\n'
'/getchatid - узнать ID Telegram')
else:
bot.send_message(message.chat.id, 'Будь-ласка, виберіть наступне меню: \n\n'
'/manu - узнать ID Telegram')
for item in data:
repr = item['repr_name']
id = item['pk']
keyboard.row(telebot.types.InlineKeyboardButton(item['name'], callback_data=f"{repr}-{id}"))
bot.send_message(
message.chat.id,
'Будь-ласка, виберіть необхідне меню из нижче представленного списку:',
reply_markup=keyboard
)
Я пытался просто скопировать emoji и вставить в тестовое поле. Пытался вставить в формате UTF-8 Выводит обычный текст в 1 варианте, во втором некорректный текст. Но я хочу что бы возле кнопки был ещё emoji и что бы через текстовый инпут в django пользователь вносил самостоятельно тот emoji который ему надо.
Ответы (1 шт):
Автор решения: D. Violet
→ Ссылка
всё прекрасно работает
key = types.InlineKeyboardMarkup()
key_b = types.InlineKeyboardButton(text='1123 ?', callback_data='1123')
key.add(key_b)
bot.send_message(message.chat.id, 'inline emoji', reply_markup=key)
key = types.ReplyKeyboardMarkup(True)
key.row('1123 ?')
bot.send_message(message.chat.id, 'reply emoji', reply_markup=key)