笔记:python3编写的仿hubot的聊天机器人Chattie
簡要翻譯 Chattie,原文來自github,有刪改。
Chattie是受Hubot啟發的Python機器人框架。
安裝chattie
安裝命令:
pip3 install chattie創建一個新的bot,運行:
chattie new my_bot_name使用bot名稱my_bot_name創建一個新目錄,并生成一些文件來幫助入門。Chattie目前帶有3個連接器:
- Matrix: https://matrix.org/
- pip3 install chattie[matrix]
- Telegram: https://telegram.org/
- pip3 install chattie[telegram]
- Terminal: A REPL you can use for testing your bot!
支持添加技巧和處理程序 來構建自己的機器人。
核心概念
- Handlers:處理程序,接收房間中的所有非命令消息
- Tricks:技巧,Chattie機器人可以做的事情
- Commands:命令,Tricks的觸發詞
- Connectors:連接器,讓Chattie機器人與其他服務進行對話
Trick、handler和Command
Trick、handler是帶有兩個參數和一個**kwargs的函數。kwargs是一個數組,包含當前實例chattie.Bot和傳入消息的文本,使用空格作為分割符,允許Connectors發送附加的元數據。
Tricks和handlers的功能并不是嚴格必需的,主要用于定制可選的機器人后端(backend)??捎玫母郊釉獢祿母嘈畔?#xff0c;請參見相應連接器的文檔。下面是Trick的一個例子:
Trick使用完全相同的簽名,但是他們可以選擇返回None,不送任何內容給聊天室。這對于諸如審核日志記錄或捕捉笑話之類的事情很有用
。
所有Trick都會自動添加到Chattie的help命令中。如果Trick具有docstring,它將包含在為用戶優化過的幫助輸出中。
因此,Chattie可以配置為必須將新trick分配給命令,方法是command在模塊中命名一個全局變量,該變量 是Trick觸發詞的詞典。對于上面的示例,它看起來像這樣:
更方便的是,可以將多個命令分配給同一個trick:
commands = {'my_new_trick': my_new_trick,'new_trick': my_new_trick }Chattie初始化后會自動將其引入,并將其添加到已知命令中。
handler操作方式大致相同,但是由于handler沒有觸發詞,因此您只需導出要在全局變量中注冊的處理程序數組即可:
handlers = [a_new_handler,some_other_handler ]Chattie將負責其余的工作。
總結
以上是生活随笔為你收集整理的笔记:python3编写的仿hubot的聊天机器人Chattie的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可扩展的TextView,Expanda
- 下一篇: 中文电子病例命名实体识别项目