未提供项目说明
chaban的Python项目详细描述
查班
Python聊天机器人框架。使用了很多来自django的概念。在
链接
当前状态
正在大力发展中。Chaban应该是为许多平台开发机器人的框架。 现在正在研究电报机器人。此外,这个项目需要有强大的CLI,这也是在开发中。在
安装
pip install chaban
使用
项目结构
要引导一个新项目,我建议使用cookiecutter。在
^{pr2}$目前,CLI还没有开发出来,但我希望它能很快上市。在
现在,运行以下命令获取chaban模板:
cookiecutter gh:ibrag8998/cookiecutter-chaban
回答问题
项目如下:
project_slug
+-- project_slug
| +-- __init__.py
| +-- handlers.py
| +-- actions.py
| +-- text.py
+-- settings
| +-- __init__.py
| +-- base.py
| +-- dev.py
+-- requirements
| +-- base.txt
| +-- testing.txt
| +-- local.txt
+-- scripts
| +-- installdeps.sh
| +-- mkenv.sh
+-- run.py
+-- ...
现在运行mkenv.sh
脚本来生成.env
文件,该文件存储一些配置和密钥:
cd scripts
./mkenv.sh
- 在
在settings/
包含您想要的任何设置,但也有一些必需的设置,如DEBUG
。 把基本设置放在base.py
中,只在dev.py
中进行开发,其余的都将为您完成。 怎样?读取settings/__init__.py
文件。在 - 在
在requirements/
包含单独的要求。base.txt
是基础,项目将无法工作 没有他们。testing.txt
仅用于测试。local.txt
包含对直接开发者的要求, 例如:linter、formatter。在 - 在
在scripts/
包含用于管理项目的bash脚本。在 - 在
在run.py
是启动bot时要运行的文件。在 - 在
project_slug/
是实际的核心:handlers.py
包含消息处理程序。在actions.py
包含消息处理程序将调用的逻辑。在text.py
包含要发送消息的文本片段。在
实际代码
首先,在handlers.py
中定义一个消息处理程序,如下所示:
fromchaban.handlersimportCommandMHclassStartCommandMH(CommandMH):command='start'
现在,当一条消息出现时,您的处理程序看起来可以处理该消息
(通过使用regex检查,源代码中有更多信息),将调用action
。但是等等。
我们没有定义任何行动!前往actions.py
添加一个:
fromchaban.actionsimportActionclassStartCommandAction(Action):defact(self,message:dict)->None:self.tbot.send_message(message['chat']['id'],'Welcome!')
好吧,动作已经定义好了,现在让我们将处理程序与动作链接起来。
打开handlers.py
文件和操作属性,如下所示:
...from.actionsimportStartCommandActionclassStartCommandMH(CommandMH):...action=StartCommandAction()
基本知识到此为止:D。现在打开您的终端并启动bot:
python run.py
用消息“/start”给你的机器人写一封信,看看它能不能用。在
贡献
求你了,救命。在
- 项目
标签: