easy-to-use SDK for Tencent QQ guild robot
Project description
引言
对于使用python进行频道官方机器人开发而言,市面上确实有不同的sdk可以选用,但其很多只提供异步asyncio+类继承的开发方式,对于不会相关技巧的朋友们,尤其新手,会有开发难度。
为此,qg_botsdk相应提供了另一个选择,这一款sdk虽然同样使用asyncio编写sdk底层,但其同时提供了threading和asyncio封装下的应用层调用,以抽象化封装的库编写方式,极大地降低应用层的开发难度。
亮点
两种应用层开发方式(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
Hashes for qg_botsdk-4.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aca56ad0755aa9c09ccd1d2e4ed581b44f561095fc3495a7e11683d02e8cb661 |
|
MD5 | 7405fa5814902d99557e636274c50212 |
|
BLAKE2b-256 | 6f2e56c5329497f75d8221b9bfc2f8d659edfb99fa190a9e9f2ca1d29d0c9cd6 |