AliciaBot
Marco de robot simple asíncrono de múltiples backends de Python
Documentación · Guías · Referencia API · Ejemplos
Introducción
AliceBot es un marco de robot asincrónico de múltiples backends de Python que admite múltiples adaptaciones de protocolos. Puede escribir fácilmente complementos que sean fáciles de aprender y usar para ampliar su funcionalidad.
Este proyecto está inspirado en el proyecto NoneBot. Puede comprobar las similitudes y diferencias entre los dos proyectos en la sección de comparación para que pueda elegir el marco de robot que sea más adecuado para usted.
Características
- Simple : AliceBot utiliza un método de escritura de complementos muy flexible y fácil de usar. Solo necesita escribir dos métodos para implementar un complemento potente.
- Flexible : el protocolo de adaptación de AliceBot no está vinculado a ninguna biblioteca o protocolo de red. Usted es libre de elegir o escribir el adaptador que más le convenga.
- Eficiente : AliceBot se basa en la E/S asincrónica de Python y puede manejar fácilmente una gran cantidad de solicitudes. Menos embalaje, persiguiendo el mejor rendimiento manteniendo la facilidad de uso.
Actualmente, AliceBot mantiene oficialmente las siguientes adaptaciones de protocolo:
- Protocolo OneBot (CQHTTP) (compatible con QQ, etc.) métodos de conexión inversa ws y ws
- Métodos de conexión inversa ws y ws del protocolo OneBot v12
- protocolo mirai-api-http 2.0+ ws y métodos de conexión inversa-ws
- Método de conexión saliente (devolución de llamada) de DingTalk Enterprise Robot
- Métodos de conexión de webhook y sondeo del robot de Telegram
Se están adaptando más protocolos...
Más información: Introducción - Documentación de AliceBot
Empezar ahora
Instalar:
pip install alicebot[all]
Primer proyecto AliceBot:
from alicebot import Bot
bot = Bot ()
bot . load_adapters ( "alicebot.adapter.cqhttp" )
bot . run ()
El primer complemento 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 " )
Consulte la documentación de AliceBot para obtener más información.
contraste
Este proyecto está inspirado en el proyecto NoneBot. La siguiente es una breve introducción a las similitudes y diferencias entre los dos.
Puntos similares:
- Ambos están escritos en Python y utilizan marcos de robots asincrónicos de alto rendimiento.
- Ambos admiten múltiples protocolos.
- Ambos analizarán y procesarán los eventos recibidos por el robot y los distribuirán a complementos (respondedores de eventos) según la prioridad para completar funciones específicas.
- Ambos son de código abierto basados en la licencia MIT, lo que significa que puedes utilizar este proyecto siempre que sigas la licencia.
Diferencias:
- En general, NoneBot es un marco de robot más completo, mientras que AliceBot es un marco de robot pequeño y conciso que no contiene algunas características avanzadas complejas, pero es más flexible y fácil de aprender.
- El estilo de escritura del complemento de AliceBot es diferente de NoneBot. En términos relativos, AliceBot se centra más en la facilidad de entrada y el "marco progresivo", lo que significa que la mayoría de las funciones de AliceBot son opcionales y solo necesita muy pocos conocimientos. A medida que su proyecto crece en tamaño y complejidad, puede continuar profundizando en las funciones que necesita sin tener que dominarlas todas de inmediato. "Es un marco que puede crecer con usted y adaptarse a sus diferentes necesidades".
- NoneBot está profundamente vinculado al protocolo de comunicación HTTP/WebSocket en términos de implementación. Requiere un "controlador" que admita el protocolo del servidor ASGI, mientras que AliceBot no está vinculado a ningún protocolo. Incluso puede usarse para controlar su altavoz inteligente Raspberry Pi. . Por supuesto, no hay diferencia si sólo necesita un marco de bot que admita herramientas comunes de chat web.
- NoneBot tiene una base de usuarios y un tamaño de comunidad relativamente grandes, y también tiene una gran cantidad de complementos, mientras que AliceBot es un proyecto incipiente, lo que significa que si usa NoneBot puede que le resulte más fácil encontrar complementos que le interesen. en eso se han escrito, y también puede encontrar información relevante u obtener respuestas más rápido cuando encuentre problemas.
Con todo, ambos tienen sus propias características y puedes elegir según tus necesidades.
licencia
AliceBot es de código abierto bajo licencia MIT.
El ícono de este proyecto fue dibujado por Misty Little Dream God y está abierto para su uso como parte de este proyecto bajo la misma licencia que este proyecto.