Skip to main content

No project description provided

Project description

Avilla

The next-gen framework for IM development.

即刻动身, 踏上寻找第二个故乡的旅程.

code_style

Avilla 是 Graia Project 的 "下一代" 框架实现, 通过对 OneBot , Telegram Bot API 及其他的基于不同即时通讯软件实现的各式对接接口, 以及其他具有相应概念的 "异步消息流" 实例进行总结, 抽象其中最为基本的各式模型, 构造了一个理论上可以实现零成本切换对接平台的框架.

该框架目前处于快速迭代状态, API 可能会发生 剧烈 变化, 可能还不适合进行生产性的开发与运维

项目名称取自日本轻小说 《魔女之旅》 的角色 "艾维莉亚(Avilla)".

Docs docs docs docs

Notable Features

  • 原生跨平台: 开创性的 Relationship 操作模型, 配合最小功能单元, 行为扩展等诸多独特设计, 无论是简单的消息收发还是平台设计的独特交互, Avilla 都能处理地得心应手.
  • 原生多账号: Avilla 在设计之初, 就考虑了同时管理多个账号, 甚至是多个平台上的多个账号这些问题, 并加以研究与解决. 而现在, 账号管理本应如此简单便捷而收放自如.
  • 一次编写, 多平台可用: 得益于 Avilla 的强大抽象, 开发者只需面向 Avilla 就能完成核心业务的开发, 显著的减少了维护成本.
  • 平台特性友好: Avilla 以 Activity, Reaction, Extension 等诸项设计, 使得开发者在运用平台特性的方式更加规范而不失表达性. 担心平台间特性的不通用? 你可以同时为多个平台编写不同的特性用例, Avilla 会自动应用可用的适配, 不改动核心逻辑的同时保证基本特性的可用!

担心可用性? 我们同样提供了一些核心的非平台依赖实现, 例如 TextCommand, 这些组件仅要求平台实现最基本的交互实现, 剩下的一切交给 Avilla 处理!

  • 现有基建兼容: 得益于 Amnesia, Commander, Twilight, Alconna 或是基于 Launart 编写的各式扩展, 可以直接与 Avilla 协同而无需任何迁移成本.
  • 高可伸缩性: Avilla 既支持单文件使用, 亦支持基于 Graia Saya 驱动的模块系统编写应用.

Quick Start

from avilla.core import Avilla, Context, MessageReceived
from avilla.console.protocol import ConsoleProtocol

avilla = Avilla()
avilla.apply_protocols(ConsoleProtocol())


@avilla.listen(MessageReceived)
async def on_message_received(cx: Context, event: MessageReceived):
    await cx.scene.send_message("Hello, Avilla!")


avilla.launch()

部件发布情况

代号 对接平台 协议 开发进度 PyPI 维护者 开源协议
Core - - Alpha image Official MIT
Console 终端环境 Console Alpha image Official MIT
Elizabeth Tencent QQ mirai-api-http Alpha image Official AGPLv3
Onebot 11 多平台支持 OneBot v11 WIP image Official -
QQ API Tencent QQ / QQ-Guild QQ / QQ-Guild Official API WIP image Official MIT
Red Tencent QQNT Red Protocol WIP image Official MIT
Satori 多平台支持 Satori Protocol (v1) WIP image Official MIT
Telegram Telegram Telegram Draft image - -
Nightcord Discord Discord Bots Draft image - -
Kook Kook Kook Draft image - -
OneBot 12 多平台支持 OneBot v12 Planned - - -

我们的愿景

创造出比这之前还要更加具有潜力和创造性的作品, 借此有力促进社区的发展, 助力社区的艺术家们 (Developers & Artists) 以更高的效率, 基于更完善的底层, 创作出更加精彩的作品.

相关项目

星座的光芒是由一个个星点共同组成的, 任何优秀的作品都绝不会是一个人的功绩.
而若是没有这些项目, Avilla 的实现就无从谈起.
排名不分顺序, 可能有许遗漏, 这里仅列出部分较为重要的项目.

无论如何, Avilla 都是 Graia Project 下的一个子项目, 以下项目均在不同层面上支持了 Avilla 的开发:

  • Broadcast Control : 事件系统实现, 最为锋利的魔剑(Magic Sword).
  • Ariadne : 继承了前作的衣钵, 在 Avilla 尚未成熟之际撑起大梁的后续作品, 同样进行了可贵的创新.

衷心感谢这些以及其他未被提及的项目.

开源协议

若非特殊说明, Avilla 及其子包默认使用 MIT 作为开源协议, 但如果你若引用到了使用 GPL/AGPL/LGPL 等具有传染性开源协议的项目, 无论是对 Avilla 实现或是使用了相应 Avilla 实现的项目仍需要遵循相关规则.

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

avilla_core-1.0.0a26.tar.gz (48.8 kB view hashes)

Uploaded Source

Built Distribution

avilla_core-1.0.0a26-py3-none-any.whl (76.5 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