AliceBot
Einfaches asynchrones Python-Multi-Backend-Roboter-Framework
Dokumentation · Leitfäden · API-Referenz · Beispiele
Einführung
AliceBot ist ein einfaches Python-Asynchron-Multi-Backend-Roboter-Framework, das mehrere Protokollanpassungen unterstützt. Sie können problemlos Plug-Ins schreiben, die leicht zu erlernen und zu verwenden sind, um die Funktionalität zu erweitern.
Dieses Projekt ist vom NoneBot-Projekt inspiriert. Sie können die Ähnlichkeiten und Unterschiede zwischen den beiden Projekten im Vergleichsabschnitt überprüfen, damit Sie ein Roboter-Framework auswählen können, das besser zu Ihnen passt.
Merkmale
- Einfach : AliceBot verwendet eine sehr flexible und benutzerfreundliche Plug-In-Schreibmethode. Sie müssen nur zwei Methoden schreiben, um ein leistungsstarkes Plug-In zu implementieren.
- Flexibel : Das Anpassungsprotokoll von AliceBot ist nicht an eine Bibliothek oder ein Netzwerkprotokoll gebunden. Es steht Ihnen frei, einen Adapter zu wählen oder zu schreiben, der zu Ihnen passt.
- Effizient : AliceBot basiert auf der asynchronen E/A von Python und kann problemlos eine große Anzahl von Anfragen verarbeiten. Weniger Verpackung, beste Leistung bei gleichzeitiger Benutzerfreundlichkeit.
Derzeit verwaltet AliceBot offiziell die folgenden Protokollanpassungen:
- OneBot (CQHTTP)-Protokoll (unterstützt QQ usw.) ws- und ws-reverse-Verbindungsmethoden
- OneBot v12-Protokoll-WS- und WS-Reverse-Verbindungsmethoden
- mirai-api-http-Protokoll 2.0+ ws- und Reverse-ws-Verbindungsmethoden
- Ausgehende (Rückruf-)Verbindungsmethode des DingTalk Enterprise Robot
- Telegram-Roboter-Abfrage- und Webhook-Verbindungsmethoden
Weitere Protokolle werden angepasst...
Weitere Informationen: Einführung – AliceBot-Dokumentation
Beginnen Sie jetzt
Installieren:
pip install alicebot[all]
Erstes AliceBot-Projekt:
from alicebot import Bot
bot = Bot ()
bot . load_adapters ( "alicebot.adapter.cqhttp" )
bot . run ()
Das erste AliceBot-Plugin:
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 " )
Weitere Informationen finden Sie in der AliceBot-Dokumentation.
Kontrast
Dieses Projekt ist vom NoneBot-Projekt inspiriert. Im Folgenden finden Sie eine kurze Einführung in die Ähnlichkeiten und Unterschiede zwischen den beiden.
Ähnliche Punkte:
- Beide sind in Python geschrieben und verwenden asynchrone Hochleistungsroboter-Frameworks mit Coroutine.
- Beide unterstützen mehrere Protokolle.
- Beide analysieren und verarbeiten die vom Roboter empfangenen Ereignisse und verteilen sie entsprechend ihrer Priorität an Plug-ins (Ereignis-Responder), um bestimmte Funktionen auszuführen.
- Beide sind Open Source und basieren auf der MIT-Lizenz, was bedeutet, dass Sie dieses Projekt verwenden können, solange Sie der Lizenz folgen.
Unterschiede:
- Im Allgemeinen ist NoneBot ein umfassenderes Roboter-Framework, während AliceBot ein kleines und prägnantes Roboter-Framework ist, das einige komplexe erweiterte Funktionen nicht enthält, aber flexibler und leichter zu erlernen ist.
- Der Plug-in-Schreibstil von AliceBot unterscheidet sich von NoneBot. Relativ gesehen konzentriert sich AliceBot mehr auf die einfache Eingabe und das „progressive Framework“, was bedeutet, dass die meisten Funktionen von AliceBot optional sind und Sie nur sehr wenig Wissen benötigen Wenn Ihr Projekt größer und komplexer wird, können Sie sich weiter auf die benötigten Funktionen konzentrieren, ohne sie sofort beherrschen zu müssen. „Es ist ein Framework, das mit Ihnen wachsen und sich an Ihre unterschiedlichen Bedürfnisse anpassen kann.“
- NoneBot ist hinsichtlich der Implementierung stark an das HTTP/WebSocket-Kommunikationsprotokoll gebunden. Es erfordert einen „Treiber“, der das ASGI-Serverprotokoll unterstützt, während AliceBot an kein Protokoll gebunden ist. Es kann sogar zum Ansteuern Ihres Raspberry Pi-Smart-Lautsprechers verwendet werden . Es macht natürlich keinen Unterschied, wenn Sie lediglich ein Bot-Framework benötigen, das gängige Web-Chat-Tools unterstützt.
- NoneBot hat eine relativ große Benutzerbasis und Community und verfügt auch über eine große Anzahl von Plug-ins, während AliceBot ein junges Projekt ist. Wenn Sie also NoneBot verwenden, fällt es Ihnen möglicherweise leichter, Plug-ins zu finden, die Sie interessieren darin geschrieben wurden, und Sie können auch relevante Informationen finden oder schneller Antworten erhalten, wenn Sie auf Probleme stoßen.
Alles in allem haben beide ihre eigenen Eigenschaften und Sie können je nach Bedarf auswählen.
Lizenz
AliceBot ist Open Source unter der MIT-Lizenz.
Das Symbol für dieses Projekt wurde von Misty Little Dream God gezeichnet und kann im Rahmen dieses Projekts unter derselben Lizenz wie dieses Projekt verwendet werden.