Skip to main content

大别野「黑塔」Python SDK

Project description

Herta-villa-SDK

license pypi python version Ruff FOSSA Status

大别野「黑塔」Python SDK

特性

  • 多种服务器后端(内置 aiohttpfastapi 后端),完整异步支持
  • 完整类型注解支持
  • ...

安装

pip install herta-villa-sdk

FastAPI 后端支持:

pip install herta-villa-sdk[fastapi]

快速开始

你需要拥有一个大别野机器人。可前往大别野「机器人开发者社区」OpenVilla)申请。

from hertavilla import MessageChain, SendMessageEvent, VillaBot, run, StartswithResult
from hertavilla.server import init_backend


PUB_KEY = """-----BEGIN PUBLIC KEY-----
aaa
bbb
ccc
-----END PUBLIC KEY-----
"""  # 开放平台 pub_key
# 需要注意 `-----BEGIN PUBLIC KEY-----` 前没有换行符
#  `-----END PUBLIC KEY-----` 后有一个换行符
# 目前从网页端复制下来的时候会为一串 pub_key,需要将空格转为换行

bot = VillaBot(
    "bot_id",  # 这里填写 bot_id
    "bot_secret",  # 这里填写 secret
    "/",  # bot 回调 endpoint
    PUB_KEY,  # 开放平台提供的 pub_key
)


@bot.startswith("/")  # 注册一个消息匹配器,匹配前缀为 / 的消息
async def _(event: SendMessageEvent, bot: VillaBot, match_result: StartswithResult):
    if match_result.text == "hello":
        chain = MessageChain("world")
        await bot.send(event.villa_id, event.room_id, chain)


init_backend()  # 初始化后端
run(bot)  # 运行 bot

可以向你的 bot 发送 @Bot /hello,bot 会回复 world

示例

详见 examples 文件夹。

支持的 API

  • 鉴权
    • 校验用户机器人访问凭证 /checkMemberBotAccessToken
  • 大别野
    • 获取大别野信息 /getVilla
  • 用户
    • 获取用户信息 /getMember
    • 获取大别野成员列表 /getVillaMembers
    • 踢出大别野用户 /deleteVillaMember
  • 消息
    • 置顶消息 /pinMessage
    • 撤回消息 /recallMessage
    • 发送消息 /sendMessage
  • 房间
    • 创建分组 /createGroup
    • 编辑分组 /editGroup
    • 删除分组 /deleteGroup
    • 获取分组列表 /getGroupList
    • 编辑房间 /editRoom
    • 删除房间 /deleteRoom
    • 获取房间信息 /getRoom
    • 获取房间列表信息 /getVillaGroupRoomList
  • 身份组
    • 向身份组操作用户 /operateMemberToRole
    • 创建身份组 /createMemberRole
    • 编辑身份组 /editMemberRole
    • 删除身份组 /deleteMemberRole
    • 获取身份组 /getMemberRoleInfo
    • 获取大别野下所有身份组 /getVillaMemberRoles
  • 表态表情
    • 获取全量表情 /getAllEmoticons
  • 图片
    • 图片转存 /transferImage
    • 获取图片上传参数 /getUploadImageParams
  • 审核 /audit

支持的事件

Bug 反馈及建议

大别野 Bot 和 Herta SDK 均处于开发状态中,如遇到问题或有相关建议可通过 Issue 提出,感谢支持!

有关提出 Issue 和 Pull Request 的要点,请查看 贡献指南

相关项目

交流

许可证

MIT License

FOSSA Status

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

herta_villa_sdk-0.8.6.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

herta_villa_sdk-0.8.6-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file herta_villa_sdk-0.8.6.tar.gz.

File metadata

  • Download URL: herta_villa_sdk-0.8.6.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.9.3 CPython/3.11.4

File hashes

Hashes for herta_villa_sdk-0.8.6.tar.gz
Algorithm Hash digest
SHA256 525896c19ad7b6659a34c10cb5fc3c3775d77173608f70cab1e0acde968594b0
MD5 ab8ecc3522c960d9d6218379ad85cad0
BLAKE2b-256 77210d8422ee4ba9a4bed978371f10bbbc4ed5353197990820a9da3477dd2f54

See more details on using hashes here.

File details

Details for the file herta_villa_sdk-0.8.6-py3-none-any.whl.

File metadata

File hashes

Hashes for herta_villa_sdk-0.8.6-py3-none-any.whl
Algorithm Hash digest
SHA256 231df7c9a18d4ae0f1a6702f7f0ef739e76aa3e4d0ebec1bbdbf30a4d72d4469
MD5 5047a6abe7e358a9ffe872a85b68663f
BLAKE2b-256 22a0a3840f7b801f85186f0dd8c2da443399d2ebabd11e8c14fb4223c14bc9eb

See more details on using hashes here.

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