Skip to main content

A simply asynchronous python chatbot framework.

Project description

logo

AliceBot

简单的 Python 异步多后端机器人框架

文档 · 指南 · API 参考 · 示例

简介

AliceBot 是一个简单的 Python 异步多后端机器人框架,支持多种协议适配,可以轻松地编写易于学习和使用的插件来拓展其功能。

本项目受到了 NoneBot 项目的启发,您可以在对比小节中查看这两个项目的异同,以便您选择更适合自己的机器人框架。

特点

  • 简单:AliceBot 使用了非常灵活且易于使用的插件编写方式,您只需要编写两个方法即可实现一个功能强大的插件。
  • 灵活:AliceBot 的适配协议并不与任何一种库或网络协议绑定,您可以自由选择或编写适合您的适配器。
  • 高效:AliceBot 基于 Python 的异步 I/O,轻松处理大量请求。较少的封装,在保持易用的同时追求最好的性能。

目前 AliceBot 官方维护了以下协议适配:

更多协议正在适配中 ...

更多信息:简介 - AliceBot 文档

即刻开始

  1. 安装:

    pip install alicebot[all]
    
  2. 第一个 AliceBot 项目:

    from alicebot import Bot
    
    bot = Bot()
    bot.load_adapters("alicebot.adapter.cqhttp")
    
    bot.run()
    
  3. 第一个 AliceBot 插件:

    from alicebot import Plugin
    
    
    class Echo(Plugin):
        async def handle(self) -> None:
            await self.event.reply(self.event.message.replace("echo ", ""))
    
        async def rule(self) -> bool:
            if self.event.adapter.name != "cqhttp":
                return False
            if self.event.type != "message":
                return False
            return self.event.message.startswith("echo ")
    

更多信息请参阅 AliceBot 文档

对比

本项目受到了 NoneBot 项目的启发,以下简单介绍两者的异同。

相同点:

  • 两者都是使用 Python 编写的,使用了协程异步的高性能机器人框架。
  • 两者都支持多种协议。
  • 两者都会对机器人收到的事件进行解析和处理,并按优先级分发给插件 (事件响应器) 来完成具体的功能。
  • 两者都基于 MIT 协议开源,这意味着您可以在遵循协议的前提下任意使用本项目。

不同点:

  • 总的来说,NoneBot 是一个较为全面的机器人框架,而 AliceBot 是一个小巧简洁的机器人框架,它不包含一些复杂的高级特性,但更加灵活且易于学习。
  • AliceBot 的插件编写风格和 NoneBot 不同,相对而言,AliceBot 更加注重于易于入门和“渐进式框架”,这意味着 AliceBot 大部分的功能都是可选的,您只需要了解很少的知识即可开始使用,随着项目规模的扩大和复杂性的增加,您可以继续深入需要的特性,而不需要一开始就掌握全部的特性。“它是一个可以与你共同成长、适应你不同需求的框架。”
  • NoneBot 在实现上与 HTTP / WebSocket 通讯协议深度绑定,它需要一个支持 ASGI 服务器协议的“驱动器”,而 AliceBot 并不与任何协议绑定,它甚至可以用来驱动您的树莓派智能音箱。当然,如果您只需要一个支持常见网络聊天工具的机器人框架的话,它们并没有什么区别。
  • NoneBot 拥有相对庞大的用户基数和社区规模,也拥有数量众多的插件,而 AliceBot 则是一个新生项目,这意味着如果您使用 NoneBot 您可能会更加容易找到已经编写完毕的您感兴趣的插件,并且您当您遇到问题时也能够更快地查找到相关资料或者获得解答。

总而言之,两者有着各自的特点,您可以根据需要选用。

许可证

AliceBot 采用 MIT 许可证开放源代码。

本项目的图标由迷糊小梦神绘制,作为本项目的一部分,使用与本项目相同的许可证开放使用。

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

alicebot-0.10.0.tar.gz (42.0 kB view hashes)

Uploaded Source

Built Distribution

alicebot-0.10.0-py3-none-any.whl (34.2 kB view hashes)

Uploaded Python 3

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