问题描述
我是 Python 和电报机器人开发的新手,我正在尝试将表情符号添加到电报机器人的底部菜单,但我不知道如何。聊天中的按钮已经有表情符号,但底部的机器人菜单没有。谢谢。
代码示例:
menu1 = telebot.types.InlineKeyboardMarkup([
[InlineKeyboardButton(text='? Інформація',callback_data='info')],[InlineKeyboardButton(text='? Заборгованість',callback_data='arrears')],[InlineKeyboardButton(text='? Кабінет',callback_data='cabinet')],[InlineKeyboardButton(text='? Веб-сайт',url='')]])
菜单示例,我已经完成:
解决方法
您可以在添加文本的同一位置添加表情符号
telegram.KeyboardButton(text="Hello ??")
,
您可以写下 function addToDate({time_unit,operator,offset_value }) {
const date = new Date();
operator = operator == "after" ? "+" : "-";
switch (time_unit) {
case "seconds":
date.setSeconds(eval(`${date.getSeconds()} ${operator} ${offset_value}`));
break;
case "hours":
date.setHours(eval(`${date.getHours()} ${operator} ${offset_value}`));
break;
case "minutes":
date.setMinutes(eval(`${date.getMinutes()} ${operator} ${offset_value}`));
break;
case "days":
date.setDate(eval(`${date.getDate()} ${operator} ${offset_value}`));
break;
case "months":
date.setMonth(eval(`${date.getMonth()} ${operator} ${offset_value}`));
break;
case "years":
date.setFullYear(eval(`${date.getFullYear()} ${operator} ${offset_value}`));
break;
default:
break;
}
return date;
}
const new_date = addToDate({time_unit:'seconds','operator':'after','offset_value':10});
console.log(new_date.toISOString());
函数并使用它来显示您发送的每条消息。您可以根据用户的选择生成不同的函数来显示不同的内容。您只需在消息中添加 user_keyboard_markup()
。
my_markups_folder/markups.py:
reply_markup=...
main.py:
def user_keyboard_markup():
user_markup = ReplyKeyboardMarkup(True,True)
button_site = KeyboardButton(text="Web site ?")
user_markup.row('/start','/help','/stop')
user_markup.row('?','?','?')
user_markup.add(button_site)
return user_markup
def my_other_keyboard_markup():
return None
你会看到这样的:
...