Package: irispy
IrisPYАсинхронная и быстрая библиотека для Iris Callback API.С помощью Iris Callback API вы можете получать сигналы из бесед, на которые вы подписались. Это поможет вам обрабатывать информацию способом, который удобен для вас без каких-либо ограничений.Для этого необходимо создать свой сервер, который будет принимать запросы от серверов Iris.УстановкаНовейшая версия:pip install irispy==1.2С помощью установщика pip из GitHub:pip install https://github.com/zpodushkin/irispy/archive/master.zip --upgradeКастомизацияПосле установкиirispyрекомендуется сразу же установить дополнительные модулиloguruиvbml.С ними фреймворк работает лучше и быстрее.Установитеloguruиvbmlс помощью команд:pipinstallloguru
pipinstallvbmlПримеры использованияfromirispyimportDispatcherfromirispyimportobjectsfromrandomimportrandintimporttypingdp=Dispatcher(secret="<your_secret>",user_id="<your_user_id>",token="<your_vk_token>"# Получить можно здесь: https://vkhost.github.io/ (Kate Mobile))chats={}# Синхронизация чатов с Ирисомasyncdefsend_msg(peer_id:int,message:str,attachment:str="",**kwargs):""" Метод для отправки сообщения.:param peer_id: Айди беседы: Пример: 2000000666:param message: Текст сообщения:param attachment: Вложение: Пример: photo1_4545:return:"""awaitdp.api.messages.send(peer_id=peer_id,message=message,attachment=attachment,random_id=randint(-2e9,2e9),**kwargs)asyncdefget_chat(date:int)->typing.Union[None,int]:""" Получение айди чата черезметод "messages.search" с параметрами::param date: Дата в timestamp:return: Айди чата: Пример: 2000000001"""try:items=(awaitdp.api.messages.search(q="!связать",count=5))["items"]# Получаем список чатов, в которых было найдено сообщение "!связать"foriinitems:# Проходим по ним цикломifi["date"]==date:# Если дата отправки сообщения равна нашей датеreturni["peer_id"]# То возвращаем айди чатаexceptExceptionase:print("Error: ",e)return@dp.event.sendMySignal(text=["повтори <text>"],lower=True)asyncdefwrapper(event:objects.SendMySignal,text:str):""" Функция, которая ловит сигналпри отправке сообщений: .с; !сигнал ...:param text::param event: Объект эвента:return:"""awaitsend_msg(peer_id=chats[event.object.chat],message=f"Повторяю:{text}")@dp.event.sendSignal(text="повтори <text>",lower=True)asyncdefexecutor(event:objects.SendSignal,text:str):print(event,text)@dp.event.bindChat()asyncdefbind(event:objects.BindChat):ifevent.object.chatnotinchats:# Если UID чата нет в словаре, то добавляем.chats[event.object.chat]=awaitget_chat(event.message.date)awaitsend_msg(peer_id=chats[event.object.chat],message="Чат привязан!")dp.run_app(host="0.0.0.0",port=80)Больше примеров в папке/examplesДокументацияIris Callback API 2.0 (Статья)Подробная информация по посадкеЯзык разметки VBML (Документация)История релизов1.0Первый деплой!1.0.1Добавление логов и обработка ошибок1.0.5Валидация в методахsendSignalиsendMySignalИзменение структуры хендлеров1.1Валидаторы VBML!Первый и официальный релиз!1.1.1Не работали валидаторы без аргументов. ИсправленоМодуль «IrisPY» был загружен на PyPi!1.2Добавлена поддержка VK APIДобавлен User LPContributingПР поддерживаются! Мне приятно видеть ваш вклад в развитие библиотекиЗадавайте вопросы в блокеissuesи в чатеVK!ЛицензияCopyright © 2019-2020zpodushkin.Этот проект имеетGPL-3.0лицензию.