easy-to-use SDK for Tencent QQ guild robot
Project description
引言
对于使用python进行频道官方机器人开发而言,市面上确实有不同的sdk可以选用,但其很多只提供异步asyncio+类继承的开发方式,对于不会相关技巧的朋友们,尤其新手,会有开发难度。
为此,qg_botsdk相应提供了另一个选择,这一款sdk虽然同样使用asyncio编写sdk底层,但其同时提供了threading和asyncio封装下的应用层调用,以抽象化封装的库编写方式,极大地降低应用层的开发难度。
亮点
已支持Websocket和Webhook两种连接方式
两种应用层开发方式(threading、asyncio),可根据自己的喜好选择,而底层均为asyncio实现,保持高并发能力
灵活的构建方式,即使官方删除或新增字段,SDK也不会规范于原来的数据格式,而会把真实数据反馈给你
轻量,简洁,统一的代码结构,通过录入回调函数处理不同事件,10行即可构建一个简单的程序
容易入门,无需学会asyncio、类继承等编程技巧也可使用,同时保留较高并发能力
保留官方http API中Json数据的结构字段,带你学习官方结构,日后可自行开发适合自己的SDK
简单易用的plugins编写与加载,使用例子可参阅 example_13(装饰器).py
方便多场景(频道+群等)构建机器人的抽象化封装,使用例子可参阅 example_16(Q群简单工作流).py
下载方式
直接下载 最新release ,放到项目中即可
pip安装(推荐):
pip install qg-botsdk
注意是qg-botsdk(中线),不是qg_botsdk(底线)
一个简单的工作流
from qg_botsdk import BOT, Model # 导入SDK核心类(BOT)、所有数据模型(Model)
bot = BOT(bot_id='xxx', bot_token='xxx', is_private=True, is_sandbox=True) # 实例化SDK核心类
@bot.bind_msg() # 绑定接收消息事件的函数
def deliver(data: Model.MESSAGE): # 创建接收消息事件的函数
if '你好' in data.treated_msg: # 判断消息是否存在特定内容
data.reply('你好,世界') # 发送被动回复(带message_id直接reply回复)
# 如需使用如 Embed 等消息模板,可传入相应结构体, 如:
# data.reply(ApiModel.MessageEmbed(title="你好", content="世界"))
if __name__ == '__main__':
bot.start() # 开始运行机器人
已实现事件接收(已支持解析论坛事件)
from qg_botsdk.model import Model 此库为所有事件的数据格式结构,可套用到代码以检查结构是否正确
bind_msg
bind_dm
bind_msg_delete
bind_guild_event
bind_guild_member
bind_reaction
bind_interaction
bind_audit
bind_forum
bind_audio
已实现API
- API已基本完善,具体详情可查阅:https://qg-botsdk.readthedocs.io/zh_CN/latest/API.html - 关于API的更多详细信息可阅读官方文档介绍:https://bot.q.qq.com/wiki/develop/api/
get_bot_id
get_bot_info
get_bot_guilds
get_guild_info
get_guild_channels
get_channels_info
create_channels
patch_channels
delete_channels
get_guild_members
get_role_members
get_member_info
delete_member
get_guild_roles
create_role
patch_role
delete_role
create_role_member
delete_role_member
get_channel_member_permission
put_channel_member_permission
get_channel_role_permission
put_channel_role_permission
get_message_info
send_msg
send_embed(已废弃)
send_ark_23(已废弃)
send_ark_24(已废弃)
send_ark_37(已废弃)
send_markdown(已废弃)
delete_msg
get_guild_setting
create_dm_guild
send_dm
delete_dm_msg
mute_all_member
mute_member
mute_members
create_announce
delete_announce
create_pinmsg
delete_pinmsg
get_pinmsg
get_schedules
get_schedule_info
create_schedule
patch_schedule
delete_schedule
create_reaction
delete_reaction
get_reaction_users
control_audio
bot_on_mic
bot_off_mic
get_threads
get_thread_info
create_thread
delete_thread
get_guild_permissions
create_permission_demand
upload_media
send_qq_dm
send_group_msg
特殊功能
register_start_event:绑定一个在机器人开始运行后马上执行的函数
register_repeat_event:绑定一个背景重复运行的函数
security_check:用于使用腾讯内容检测接口进行内容检测
相关链接
- 文档:
官方注册机器人:https://q.qq.com/#/
SDK QQ交流群:https://jq.qq.com/?_wv=1027&k=3NnWvGpz
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 Distributions
Built Distribution
File details
Details for the file qg_botsdk-4.2.3-py3-none-any.whl
.
File metadata
- Download URL: qg_botsdk-4.2.3-py3-none-any.whl
- Upload date:
- Size: 98.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11ae029b17577fddafd57b0b4ae49ad8e8a0b394476c3cef249ea4326992f127 |
|
MD5 | 060817f0b61d0dc03938561159d23061 |
|
BLAKE2b-256 | 9d26ed73f4a2860ca75b51c36fd383e6a8c1366ca5527e18350dce819f24b16f |