Skip to main content

Python implementation for ProtobufBot Server.

Project description

PyProtobufBot

本项目为ProtobufBot协议服务端的Python语言实现。

注意,本项目仍处于早期开发阶段,请勿用于生产环境。

如何使用

首先,运行 pip install --upgrade pypbbot 以安装本项目或更新至最新版本。

其次,按照如下方式之一编写机器人程序后,通过调用 python *_driver.py 即可运行。(注意把 *_driver.py 替换成你的主程序文件的文件名)。

具体说明见新手指南

类驱动模式

见样例程序源代码: class_driver.py

函数驱动模式

见样例程序源代码: functional_driver.py

事务驱动模式(即插件模式)

见样例程序源代码: plugin_driver.py 和样例插件源代码: plugin_driver.py (注意更改插件目录)

注意事项

异步中的同步问题

本框架为异步框架,底层基于 asyncio 库实现。默认情况下,框架会为所有从客户端接收到的消息的处理过程 创建一个新的协程 ,因而当涉及到某些语句乱序可能会导致不同步的问题时,需要对其进行加同步锁处理。具体加锁方式见例程。

关于压力测试

测试用例还在编写,理论上最多支持的客户端数量仅限于使用的缓冲池的大小(默认是65536)。

设置协议客户端

推荐的协议客户端: Go-Mirai-Client

首先,下载协议客户端并按照文档对其进行编译,随后在控制台中执行以下代码以设置环境变量:

Windows下:

set UIN=QQ号
set PASSWORD=QQ密码
set WS_URL=ws://localhost:8082/ws/test/

Linux下:

export UIN=QQ号
export PASSWORD=QQ密码
export WS_URL=ws://localhost:8082/ws/test/

随后,启动协议客户端,它就能够与前文中的例程进行通信。

关于开发进度

当前版本仅实现了 ProtobufBotAPI 的一个子集。稍后将继续加入更多功能。

  • 接收/发送私聊
  • 接收/发送群聊
  • 撤销私聊
  • 撤销群聊
  • 插件化与事务处理
  • 日志

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypbbot-0.3a1.tar.gz (37.8 kB view hashes)

Uploaded Source

Built Distribution

pypbbot-0.3a1-py3-none-any.whl (44.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page