Skip to content

HarcicYang/EulerOneBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Euler OneBot

一个无聊的 OneBot 实现,完全使用 python 语言,基于 lagrange-python

OneBot V11

GPL-3.0


项目状态

本项目处于较早期开发阶段。虽然比较简陋,但核心功能已基本稳定。

环境要求

安装与使用

方式一:作为独立应用运行

  1. 克隆本项目:

    git clone https://github.com/HarcicYang/EulerOneBot.git
    cd EulerOneBot
  2. 安装依赖:

    Euler OneBot 使用 uv,您可以如是设置:

    uv sync
    pip install .  # 若您不希望使用uv
  3. 运行,首次启动会自动生成 appconfig.json 配置模板:

    uv run main.py
    python main.py  # 若您不希望使用uv

4.填写配置文件后重启即可。

配置文件

首次运行会自动生成 appconfig.json,编辑后重启。配置项如下:

{
  "log_level": "INFO",
  "log_nf": true,
  "connections": [
    {
      "type": "ForwardWebSocket",
      "url": "ws://127.0.0.1:5004"
    }
  ],
  "login": {
    "uin": 0,
    "signer_url": "https://sign.lagrangecore.org",
    "signer_token": ""
  },
  "heartbeat": {
    "enabled": true,
    "interval": 15000
  }
}
字段 说明
log_level 日志级别:TRACE / DEBUG / INFO / WARNING / ERROR / CRITICAL
log_nf 是否为日志输出启用 NerdFont
connections 通信连接列表(见下方连接类型)
login.uin QQ 账号(不要真的写0哦)
login.signer_url 签名服务地址
login.signer_token 签名服务 Token
heartbeat.enabled 是否启用心跳
heartbeat.interval 心跳间隔(毫秒)

已经支持的连接类型

连接类型 type 说明
正向 WebSocket ForwardWebSocket 主动连接 OneBot 客户端

每类连接可能有额外的配置字段(如 ReverseWebSocketapi_urlevent_url 等),详见 ForwardWebsocketConfigReverseWebsocketConfig 等 Pydantic 模型定义。

开发

Euler OneBot 使用 uv 进行依赖与项目管理:

uv sync

支持情况

API 类型
API 名称 支持状态
send_private_msg
send_group_msg
send_msg
delete_msg
get_msg
get_forward_msg
send_like
send_poke
send_forward_msg
set_group_kick
set_group_ban
set_group_whole_ban
set_group_admin
set_group_card
set_group_name
set_group_leave
set_group_special_title
set_friend_add_request
set_group_add_request
group_reaction
get_login_info
get_stranger_info
get_friend_list
get_group_info
get_group_list
get_group_member_info
get_group_member_list
get_cookies
get_csrf_token
get_status
get_version_info
事件类型
事件名称 支持状态
message.private
message.group
notice.group_upload
notice.friend_upload
notice.group_admin
notice.group_decrease
notice.group_increase
notice.group_ban
notice.friend_add
notice.group_recall
notice.friend_recall
notice.notify.poke
notice.notify.lucky_king
notice.notify.honor
notice.reaction
request.friend
request.group
meta_event.lifecycle
meta_event.heartbeat
消息段类型
消息段类型 支持状态
text
at
reply
face
poke API
mface
node
forward
image
record
video 🚧
contact
location
music
custom
redbag
rps
dice
shake
json
xml
markdown
通信方式
通信方式 支持状态
HTTP
HTTP Webhook
正向 WebSocket
反向 WebSocket

Footnotes

  1. 尽管这里的连接指向 LagrangeDev ,本仓库的依赖项中该包裹指向 我自己的fork ,这是因为我为了该项目,在fork中照葫芦画瓢做了一些自己的实现。因此,如果您安装了 LagrangeDev 提供的包裹,该项目可能无法正常运行。 目前我的pr都跑完了,所以依赖又换回去了(www

About

一个无聊的 OneBot 实现,完全使用 python 语言,基于 lagrange-python

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages