AliceBot
Framework de robot multi-backend asynchrone Python simple
Documentation · Guides · Référence API · Exemples
Introduction
AliceBot est un simple framework de robot multi-backend asynchrone Python qui prend en charge plusieurs adaptations de protocole. Vous pouvez facilement écrire des plug-ins faciles à apprendre et à utiliser pour étendre ses fonctionnalités.
Ce projet est inspiré du projet NoneBot. Vous pouvez vérifier les similitudes et les différences entre les deux projets dans la section comparaison afin de pouvoir choisir un framework de robot qui vous convient le mieux.
Caractéristiques
- Simple : AliceBot utilise une méthode d'écriture de plug-in très flexible et facile à utiliser. Il vous suffit d'écrire deux méthodes pour implémenter un plug-in puissant.
- Flexible : le protocole d'adaptation d'AliceBot n'est lié à aucune bibliothèque ou protocole réseau. Vous êtes libre de choisir ou d'écrire un adaptateur qui vous convient.
- Efficace : AliceBot est basé sur les E/S asynchrones de Python et peut gérer facilement un grand nombre de requêtes. Moins d'emballage, pour obtenir les meilleures performances tout en conservant la facilité d'utilisation.
Actuellement, AliceBot maintient officiellement les adaptations de protocole suivantes :
- Protocole OneBot (CQHTTP) (prend en charge QQ, etc.) Méthodes de connexion ws et ws-reverse
- Méthodes de connexion ws et ws-reverse du protocole OneBot v12
- Protocole mirai-api-http 2.0+ méthodes de connexion ws et reverse-ws
- Méthode de connexion sortante (rappel) de DingTalk Enterprise Robot
- Méthodes d'interrogation du robot Telegram et de connexion au webhook
D'autres protocoles sont en cours d'adaptation...
Plus d'informations : Introduction - Documentation AliceBot
Commencez maintenant
Installer:
pip install alicebot[all]
Premier projet AliceBot :
from alicebot import Bot
bot = Bot ()
bot . load_adapters ( "alicebot.adapter.cqhttp" )
bot . run ()
Le premier plug-in 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 " )
Consultez la documentation d'AliceBot pour plus d'informations.
contraste
Ce projet est inspiré du projet NoneBot. Ce qui suit est une brève introduction aux similitudes et aux différences entre les deux.
Points similaires :
- Les deux sont écrits en Python et utilisent des frameworks de robots coroutines asynchrones hautes performances.
- Les deux prennent en charge plusieurs protocoles.
- Les deux analyseront et traiteront les événements reçus par le robot, et les distribueront aux plug-ins (répondeurs d'événements) en fonction de la priorité pour remplir des fonctions spécifiques.
- Les deux sont open source basés sur la licence MIT, ce qui signifie que vous pouvez utiliser ce projet tant que vous respectez la licence.
Différences :
- En général, NoneBot est un framework robotique plus complet, tandis qu'AliceBot est un framework robotique petit et concis qui ne contient pas de fonctionnalités avancées complexes, mais est plus flexible et facile à apprendre.
- Le style d'écriture du plug-in d'AliceBot est différent de celui de NoneBot. Relativement parlant, AliceBot se concentre davantage sur la facilité d'entrée et le "framework progressif", ce qui signifie que la plupart des fonctions d'AliceBot sont facultatives et que vous n'avez besoin que de très peu de connaissances pour commencer. À mesure que votre projet grandit en taille et en complexité, vous pouvez continuer à explorer les fonctionnalités dont vous avez besoin sans avoir à toutes les maîtriser immédiatement. « C’est un cadre qui peut évoluer avec vous et s’adapter à vos différents besoins. »
- NoneBot est profondément lié au protocole de communication HTTP/WebSocket en termes de mise en œuvre. Il nécessite un « pilote » prenant en charge le protocole du serveur ASGI, tandis qu'AliceBot n'est lié à aucun protocole. Il peut même être utilisé pour piloter votre haut-parleur intelligent Raspberry Pi. . Bien sûr, il n’y a aucune différence si vous avez simplement besoin d’un framework de robot prenant en charge les outils de chat Web courants.
- NoneBot a une base d'utilisateurs et une taille de communauté relativement importantes, et dispose également d'un grand nombre de plug-ins, tandis qu'AliceBot est un projet naissant, ce qui signifie que si vous utilisez NoneBot, il vous sera peut-être plus facile de trouver les plug-ins qui vous intéressent. qui ont été rédigés, et vous pouvez également trouver des informations pertinentes ou obtenir des réponses plus rapidement lorsque vous rencontrez des problèmes.
Dans l’ensemble, les deux ont leurs propres caractéristiques et vous pouvez choisir en fonction de vos besoins.
licence
AliceBot est open source sous licence MIT.
L'icône de ce projet a été dessinée par Misty Little Dream God et peut être utilisée dans le cadre de ce projet sous la même licence que ce projet.