Telegram Bot 使用文档 (9)

拿到update.id检查其是否更新,如有更新则取message.Text匹配已经定义好的路由(这是我定义的叫法,也就是我们约定的命令,事实上他的确和路由很像)

如果匹配成功,执行我们定义的方法,如果匹配失败则当做普通信息无视,或者返回对应信息

从上面过程可以看出命令是否是/开头其实已经不那么重要了,那么为什么官方要定义BotCommand类呢,理由(优点)如下

用以和普通消息区分

在聊天消息中命令会高亮显示

已经注册的命令在对话框中只需要输入/就会有提示列表

给机器人注册指令

手动注册

和botFather对话,输入/mybot

选择要注册指令的机器人

选择Edit Bot选项

选择Edit Commands

输入你想定义的命令,格式为

command1 - 描述 command2 - Description

注意:注册时命令开头没有斜杠,使用命令时需要带上斜杠,中间用 - 分割;每一次的命令编辑都会覆盖之前的命令而不是追加,所以必须一次发送全部命令(在对话框中按shift + enter换行)

通过setMyCommands方法注册

详见(telegram方法 setMyCommands)

查看已注册的指令

详见(telegram方法 getMyCommands)

基本指令

telegram建议我们的机器人都带上三条基本指令分别是

/start

/help

/settings

当设置了上面三个命令,用户首次打开与你的机器人的对话时,将看到Start按钮。机器人的个人资料页面上的菜单中将提供Help和Settings链接。

键盘

telegram中键盘也是机器人的一大特色,开发者可以自定义自己的键盘,一个键盘相当于机器人的菜单可以理解为一个答复界面,可以更加方便的和机器人交互。

telegram中的键盘有四种ReplyKeyboardMarkup,InlineKeyboardMarkup,ReplyKeyboardRemove和ForceReply,这四个对象可参考前面的介绍

创建键盘

只需要在sendMessage时指定reply_markup即可,详见sendMessage方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzsszz.html