АлисаБот
Простая асинхронная многосерверная платформа Python для роботов
Документация · Руководства · Справочник по API · Примеры
Введение
AliceBot — это простая асинхронная платформа Python с несколькими серверами, поддерживающая различные адаптации протоколов. Вы можете легко писать подключаемые модули, которые легко изучить и использовать для расширения ее функциональности.
Этот проект вдохновлен проектом NoneBot. Вы можете проверить сходства и различия между двумя проектами в разделе сравнения, чтобы выбрать более подходящую для вас структуру робота.
Функции
- Просто : AliceBot использует очень гибкий и простой в использовании метод написания плагина. Вам нужно написать всего два метода, чтобы реализовать мощный плагин.
- Гибкость : протокол адаптации AliceBot не привязан к какому-либо библиотечному или сетевому протоколу. Вы можете выбрать или написать подходящий вам адаптер.
- Эффективность : AliceBot основан на асинхронном вводе-выводе Python и может легко обрабатывать большое количество запросов. Меньше упаковки, стремление к максимальной производительности при сохранении простоты использования.
В настоящее время AliceBot официально поддерживает следующие модификации протокола:
- Протокол OneBot (CQHTTP) (поддерживает QQ и т. д.), методы подключения ws и ws-reverse.
- Протокол OneBot v12, методы подключения ws и ws-reverse
- Протокол mirai-api-http 2.0+ методы подключения WS и Reverse-WS
- Метод исходящего (обратного вызова) подключения DingTalk Enterprise Robot
- Опрос роботов Telegram и методы подключения вебхука
Другие протоколы адаптируются...
Дополнительная информация: Введение — Документация AliceBot.
Начни сейчас
Установить:
pip install alicebot[all]
Первый проект AliceBot:
from alicebot import Bot
bot = Bot ()
bot . load_adapters ( "alicebot.adapter.cqhttp" )
bot . run ()
Первый плагин 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 не привязан ни к какому протоколу. Его даже можно использовать для управления интеллектуальным динамиком Raspberry Pi. . Конечно, нет никакой разницы, если вам просто нужна платформа ботов, поддерживающая распространенные инструменты веб-чата.
- NoneBot имеет относительно большую базу пользователей и размер сообщества, а также имеет большое количество плагинов, в то время как AliceBot является зарождающимся проектом, а это означает, что если вы используете NoneBot, вам может быть проще найти интересующие вас плагины. в которых были написаны, а также Вы сможете найти нужную информацию или быстрее получить ответы при возникновении проблем.
В общем, оба имеют свои особенности, и вы можете выбирать в соответствии со своими потребностями.
лицензия
AliceBot имеет открытый исходный код под лицензией MIT.
Иконка для этого проекта была нарисована Misty Little Dream God и открыта для использования в рамках этого проекта по той же лицензии, что и этот проект.