diff options
Diffstat (limited to 'ATRI/plugins/essential.py')
-rw-r--r-- | ATRI/plugins/essential.py | 48 |
1 files changed, 17 insertions, 31 deletions
diff --git a/ATRI/plugins/essential.py b/ATRI/plugins/essential.py index f7d9840..020a413 100644 --- a/ATRI/plugins/essential.py +++ b/ATRI/plugins/essential.py @@ -1,28 +1,11 @@ -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -''' -File: essential.py -Created Date: 2021-02-04 12:53:00 -Author: Kyomotoi -Email: [email protected] -License: GPLv3 -Project: https://github.com/Kyomotoi/ATRI --------- -Last Modified: Sunday, 7th March 2021 3:13:09 pm -Modified By: Kyomotoi ([email protected]) --------- -Copyright (c) 2021 Kyomotoi -''' - +import os import time import json import shutil from pathlib import Path from random import choice -import nonebot from nonebot.adapters import Bot -from nonebot.plugin import on_notice, on_request from nonebot.adapters.cqhttp.message import Message from nonebot.adapters.cqhttp import ( FriendRequestEvent, @@ -37,17 +20,19 @@ from nonebot.adapters.cqhttp import ( FriendRecallNoticeEvent ) +import ATRI from ATRI.log import logger from ATRI.exceptions import WriteError from ATRI.config import nonebot_config -from ATRI.rule import is_in_banlist +from ATRI.rule import is_block from ATRI.service import Service as sv -PLUGIN_INFO_DIR = Path('.') / 'ATRI' / 'data' / 'service' / 'plugins' +PLUGIN_INFO_DIR = Path('.') / 'ATRI' / 'data' / 'service' / 'services' + +driver = ATRI.driver() -driver = nonebot.get_driver() @driver.on_startup async def startup() -> None: @@ -64,8 +49,8 @@ async def shutdown() -> None: except: repo = ( '清理插件信息失败', - '请前往 ATRI/data/service 下', - '将 plugins 整个文件夹删除' + '请前往 ATRI/data/service/services 下', + '将 services 整个文件夹删除' ) logger.error(repo) time.sleep(10) @@ -94,9 +79,10 @@ async def disconnect(bot) -> None: ESSENTIAL_DIR = Path('.') / 'ATRI' / 'data' / 'database' / 'essential' +os.makedirs(ESSENTIAL_DIR, exist_ok=True) # 处理:好友请求 -request_friend_event = on_request(rule=is_in_banlist()) +request_friend_event = sv.on_request("Friends request", rule=is_block()) @request_friend_event.handle() async def _request_friend_event(bot, event: FriendRequestEvent) -> None: @@ -136,7 +122,7 @@ async def _request_friend_event(bot, event: FriendRequestEvent) -> None: # 处理:邀请入群,如身为管理,还附有入群请求 -request_group_event = on_request(rule=is_in_banlist()) +request_group_event = sv.on_request("Group request",rule=is_block()) @request_group_event.handle() async def _request_group_event(bot, event: GroupRequestEvent) -> None: @@ -178,7 +164,7 @@ async def _request_group_event(bot, event: GroupRequestEvent) -> None: # 处理群成员变动 -group_member_event = on_notice() +group_member_event = sv.on_notice("Group member change") @group_member_event.handle() async def _group_member_event(bot: Bot, event) -> None: @@ -205,7 +191,7 @@ async def _group_member_event(bot: Bot, event) -> None: # 处理群管理事件 -group_admin_event = on_notice() +group_admin_event = sv.on_notice("Group admin change") @group_admin_event.handle() async def _group_admin_event(bot: Bot, event: GroupAdminNoticeEvent) -> None: @@ -218,7 +204,7 @@ async def _group_admin_event(bot: Bot, event: GroupAdminNoticeEvent) -> None: # 处理群禁言事件 -group_ban_event = on_notice() +group_ban_event = sv.on_notice("Group ban change") @group_ban_event.handle() async def _group_ban_event(bot: Bot, event: GroupBanNoticeEvent) -> None: @@ -247,7 +233,7 @@ async def _group_ban_event(bot: Bot, event: GroupBanNoticeEvent) -> None: # 处理群红包运气王事件 -lucky_read_bag_event = on_notice() +lucky_read_bag_event = sv.on_notice("Group read bag winner") @lucky_read_bag_event.handle() async def _lucky_read_bag_event(bot, event: LuckyKingNotifyEvent) -> None: @@ -259,7 +245,7 @@ async def _lucky_read_bag_event(bot, event: LuckyKingNotifyEvent) -> None: # 处理群文件上传事件 -group_file_upload_event = on_notice() +group_file_upload_event = sv.on_notice("Group file change") @group_file_upload_event.handle() async def _group_file_upload_event(bot, @@ -268,7 +254,7 @@ async def _group_file_upload_event(bot, # 处理撤回事件 -recall_event = on_notice() +recall_event = sv.on_notice("Group member recall") @recall_event.handle() async def _recall_event(bot: Bot, event) -> None: |