机器人程序框架

obj.bots的Python项目详细描述


bots是obj名称空间的框架部分。你可以用它来编写你自己的机器人程序。

obj是一个纯python包,它提供了一个对象类,可以将json格式的对象保存/加载到磁盘。 文件在其文件名中用时间戳保存,因此可以以与时间相关的方式进行搜索。

obj有一个“无条款mit许可证”,这应该是你在2018年能得到的最自由的许可证。

模块

OBJ包含以下模块:

base           - the base module containing the Object class providing load/save to JSON functionality.
bots           - bots package.
bus            - send text to a list of registered handlers.
cli            - the command line interface bot giving access to the bot from the shell.
cmds           - commands subpackage containing the above listed commands.
db             - database functionality that can search through objects stored on disk.
event          - the Event class generated on bots when data is read from the socket.
handler        - the event handler of the bot.
loader         - Loader class to load modules from ob space into the program.
shell          - shell related startup, cli arguments parsing and logging.
thr            - thread module to launch, kill threads.
users          - provides user management code.

用法

基本类是从对象继承并向标准对象添加加载/保存方法的对象:

>>> from obj.base import Object
>>> o = Object()
>>> p = o.save()
>>> oo = Object()
>>> oo.load(p)
>>> o == oo
>>> True

下一个类是obj,dict与object结合提供了一个可用的“点式访问”dict:

>>> from obj.base import Obj
>>> o = Obj()
>>> o.test = "test1"
>>> p = o.save()
>>> oo = Obj()
>>> oo.load(p)
>>> oo.test == "test1"
>>> True

外壳

您可以通过运行python3-m obj.bots.shell来运行obj shell。

obj shell有以下命令:

cfg            - show config files.
cmds           - show list of commands.
deleted        - show deleted objects.
ed             - edit saved objects.
exit           - stop the CLI.
find           - find objects in the datastore.
fleet          - show list of registered handlers.
kill           - stop a thread.
last           - show last record of a object.
load           - load a module.
log            - log some text.
ls             - list subdirectories in the workdir.
meet           - add a user
perm           - change permissions of a user.
ps             - show running threads.
reboot         - reboot the CLI.
rm             - set the deleted flag on an object.
rmperm         - remove permissions.
test           - echo test response.
todo           - store a todo item.
unload         - unload a module.
uptime         - show uptime.
user           - user lookup.
version        - show OBJ version.

编程

为cli编写自己的命令很简单,您可以使用-m选项加载模块。 命令是带有一个参数的函数,在bot上生成的事件:

def mycommand(event):

    <<< your code here >>>

您可以使用event.reply()将响应发送回用户。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用Kotlin值类   在Hadoop中表示大文本块作为键的java   java安卓工作室;布局设计视图;   字典Java确定字符串是否以映射中的键开头   JavaG1:混合gc和完全gc之间有什么区别?   java Camunda升级组织。阿帕奇。平民语言错误   java Scanner类具有NextLine无限循环   安卓 GCM Java服务器:发送带有重音字符的消息   java我正在构建一个兴趣计算应用程序,我的项目构建良好,有1个警告,但它不会在我的设备上打开   java在Tilera TileGX上构建OpenJDK 8   GUI中的java惰性初始化与急切初始化   java JodaTime四舍五入到最近的一刻钟   java如何限制菜单。SpringRoo中的jspx可以避免对其他用户的实体执行CRUD操作   java我应该将缓冲流链接到输入流,还是在将声音库作为嵌入式资源加载时使用URL类?