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