Skip to main content

ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。

Project description

ErisPulse

ErisPulse

事件驱动的多平台机器人开发框架

PyPI Python Versions Ruff Socket Badge


简介

ErisPulse 是一个基于 Python 的事件驱动型多平台机器人开发框架。通过统一的 OneBot12 标准接口,您可以一次编写代码,同时在云湖、Telegram、OneBot 等多个平台部署相同功能的机器人。框架提供灵活的模块(插件)系统、热重载支持和完整的开发者工具链,适用于从简单聊天机器人到复杂自动化系统的各种场景。

核心特性

  • 事件驱动架构 - 基于 OneBot12 标准的清晰事件模型
  • 跨平台兼容 - 插件模块编写一次即可在所有平台使用
  • 模块化设计 - 灵活的插件系统,易于扩展和集成
  • 热重载支持 - 开发时无需重启即可重新加载代码
  • 完整工具链 - 提供 CLI 工具、包管理和自动化脚本

快速开始

安装

pip install ErisPulse

# 国内镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ErisPulse

# 使用 `uv` 安装
uv install ErisPulse

安装演示

如果您的 Python 版本低于 3.10,可以使用一键安装脚本自动配置环境。详见 安装脚本说明

初始化项目

# 交互式初始化
epsdk init

# 快速初始化(指定项目名称)
epsdk init -q -n my_bot

创建第一个机器人

创建 main.py 文件:

命令处理器

from ErisPulse import sdk
from ErisPulse.Core.Event import command

@command("hello", help="发送问候消息")
async def hello_handler(event):
    user_name = event.get_user_nickname() or "朋友"
    await event.reply(f"你好,{user_name}!")

@command("ping", help="测试机器人是否在线")
async def ping_handler(event):
    await event.reply("Pong!机器人运行正常。")

if __name__ == "__main__":
    import asyncio
    asyncio.run(sdk.run(keep_running=True))

效果说明

发送 /hello

机器人回复:你好,{用户名}!


发送 /ping

机器人回复:Pong!机器人运行正常。


运行方式

epsdk run main.py
# 或开发模式
epsdk run main.py --reload

更多详细说明请参阅:

应用场景

  • 多平台机器人 - 在多个平台部署相同功能的机器人
  • 聊天助手 - 接入 AI 聊天模块,实现娱乐和交互
  • 自动化工具 - 消息通知、任务管理、数据收集
  • 消息转发 - 跨平台消息同步和转发

支持的适配器

欢迎您贡献适配器!

  • 云湖 - 企业级即时通讯平台(机器人账户)
  • 云湖用户 - 基于云湖用户账户的适配器
  • Telegram - 全球性即时通讯软件
  • OneBot11 - 通用机器人接口标准
  • OneBot12 - OneBot12 标准
  • 邮件 - 邮件收发处理
  • 沙箱 - 网页调试界面,无需接入实际平台
  • Kook - Kook(开黑啦)即时通讯平台

查看 适配器详情介绍

文档资源

简体中文 English 繁體中文
文档入口 Documentation 文檔入口

外部资源

平台 主站点 备用站点
文档 erisdev.com CloudflareGitHubNetlify
模块市场 erisdev.com CloudflareGitHubNetlify

贡献指南

ErisPulse 项目的健全性还需要您的一份力!我们欢迎各种形式的贡献,包括但不限于:

  1. 报告问题GitHub Issues 提交 bug 报告

  2. 功能请求 通过 社区讨论 提出新想法

  3. 代码贡献 提交 Pull Request 前请阅读我们的 代码风格 以及 贡献指南

  4. 文档改进 帮助完善文档和示例代码

加入社区讨论


致谢

  • 本项目部分代码基于 sdkFrame
  • 核心适配器标准化层基于 OneBot12 规范
  • 感谢所有为开源社区做出贡献的开发者和作者

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

erispulse-2.4.0.dev2.tar.gz (109.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

erispulse-2.4.0.dev2-py3-none-any.whl (192.9 kB view details)

Uploaded Python 3

File details

Details for the file erispulse-2.4.0.dev2.tar.gz.

File metadata

  • Download URL: erispulse-2.4.0.dev2.tar.gz
  • Upload date:
  • Size: 109.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for erispulse-2.4.0.dev2.tar.gz
Algorithm Hash digest
SHA256 43fc6d4a8e8e31038587f39ad7eee001e743d7b1b76b02c7ab24c2011265ded9
MD5 ac3e8eda16ab68944e17180e28168d03
BLAKE2b-256 640158208425d54c7603bb5da8ae23fa5ca4e4cc9e4bc477b14394e42022f348

See more details on using hashes here.

Provenance

The following attestation bundles were made for erispulse-2.4.0.dev2.tar.gz:

Publisher: pypi-publish.yml on ErisPulse/ErisPulse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file erispulse-2.4.0.dev2-py3-none-any.whl.

File metadata

  • Download URL: erispulse-2.4.0.dev2-py3-none-any.whl
  • Upload date:
  • Size: 192.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for erispulse-2.4.0.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 ae3e2fa0e39cedd4c7f4e2e10f0cfc1d83357f646d2117e2811626c869d51e73
MD5 0e912c1bee825df077247a1f035b4782
BLAKE2b-256 de181c46e9f15f62c8e5a520c80049d6214b7ebc9e9d5c64feb4e920ab368bf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for erispulse-2.4.0.dev2-py3-none-any.whl:

Publisher: pypi-publish.yml on ErisPulse/ErisPulse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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