summaryrefslogtreecommitdiff
path: root/ATRI/plugins/essential.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/essential.py')
-rw-r--r--ATRI/plugins/essential.py48
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
-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: