PepperBot

一个符合直觉的跨平台机器人框架,轻松地在平台间传递消息,支持QQ、微信
文档 · QQ交流群
生而跨平台
性能也够用
- 底层基于异步的 Sanic 框架(目前有一定生态的 python web 框架,性能最好的),性能相当不错
- 轻量,主要处理消息,对于其他功能,暴露底层接口,方便实现深度定制
自带全家桶
接口合语义
- api 符合直觉,直观,流畅地把想法映射到代码上
- 基于 python3.6 之后的类型注解,提供了完全的类型提示
- 大部分可以自动获取的参数,都会自动获取,不需要每次手动提供了
- 只会动态注入用到的参数,没必要每次写一长串用不到的参数了!
测试文档全
- 文档正在写
- 测试在补了
- 大量官方示例/指令
- 来自作者的 QA(加群以获取)
安装
pip install pepperbot
使用
具体使用见文档
示例
六行代码实现消息互转
class WhateverNameYouWant:
    async def group_message(self, bot: UniversalGroupBot, chain: MessageChain):
        if bot.onebot: # 转发qq消息至微信
            await bot.arbitrary.keaimao.group_message("19521241254@chatroom", *chain.segments)
        if bot.keaimao: # 转发微信消息至qq
            await bot.arbitrary.onebot.group_message("1041902989", *chain.segments)
 
只需要非常少的代码,就可以实现跨平台的群消息的响应
@register()
class WhateverNameYouWant:
    # 注册跨平台群事件
    async def group_message(self, bot: GroupBot, chain: MessageChain, sender: Sender):
        # chain即为消息链,pure_text是消息中的纯文本,不包含表情、图片等
        if "撤回我" == chain.pure_text:
            await chain.withdraw() # 可以直接“撤回消息”,符合直觉
        if "踢出我" == chain.pure_text:
            await sender.kickout() # 可以直接踢出发言群员
        # 也可以对消息链进行in操作,相当于in chain.pure_text
        if "禁言我" in chain:
            await sender.ban(10) # 可以直接禁言发言群员
        if chain.regex("有人(在|吗|嘛|在吗).?"):
            # 发送一条群消息
            # 接受任意个参数,必须是合法的消息片段,比如Text,Face,Image
            await bot.group_msg(
                Text("没人"),
                Face(150)
            )
 
源码地址
 
 					
		
		最后于  2022-2-11		
				被admin编辑
				
		,原因: