diff options
Diffstat (limited to 'ATRI/plugins/bot.py')
-rw-r--r-- | ATRI/plugins/bot.py | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/ATRI/plugins/bot.py b/ATRI/plugins/bot.py deleted file mode 100644 index 42e05d0..0000000 --- a/ATRI/plugins/bot.py +++ /dev/null @@ -1,159 +0,0 @@ -from random import choice -from typing import Optional - -from nonebot.typing import Bot, Event -from nonebot.plugin import on_command, on_regex - -from ATRI.rule import isInBanList, isInDormant, toBot -from ATRI.utils import countList, delListAim, nowTime -from ATRI.config import BOT_CONFIG, NONEBOT_CONFIG - -# ===========================[Begin Command Processing]=========================== - - -class Action: - callRobot = on_regex('|'.join(BOT_CONFIG['callRobot']['command']), - rule=isInBanList() & isInDormant(), - priority=4) - - callMe = on_command(list(NONEBOT_CONFIG['nickname'])[0], - aliases=NONEBOT_CONFIG['nickname'], - rule=isInBanList() & isInDormant()) - - teeTee = on_command(BOT_CONFIG['teetee']['command'][0], - aliases=set(BOT_CONFIG['teetee']['command']), - rule=isInBanList() & isInDormant() & toBot()) - - kani = on_regex('|'.join(BOT_CONFIG['kani']['command']), - rule=isInBanList() & isInDormant()) - - waste = on_regex('|'.join(BOT_CONFIG['waste']['command']), - rule=isInBanList() & isInDormant() & toBot(), - priority=5) - - morning = on_command(BOT_CONFIG['morning']['command'][0], - aliases=set(BOT_CONFIG['morning']['command']), - rule=isInBanList() & isInDormant() & toBot()) - - noon = on_command(BOT_CONFIG['noon']['command'][0], - aliases=set(BOT_CONFIG['noon']['command']), - rule=isInBanList() & isInDormant() & toBot()) - - night = on_command(BOT_CONFIG['night']['command'][0], - aliases=set(BOT_CONFIG['night']['command']), - rule=isInBanList() & isInDormant() & toBot()) - - cantdo = on_regex('|'.join(BOT_CONFIG['cantdo']['command']), - rule=isInBanList() & isInDormant()) - - @callRobot.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._callRobot(event.user_id)) - - @callMe.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._callMe()) - - @teeTee.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._teeTee(event.user_id)) - - @kani.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._kani()) - - @waste.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._waste()) - - @morning.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._morning()) - - @noon.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._noon()) - - @night.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._night()) - - @cantdo.handle() - async def _(bot: Bot, event: Event, state: dict) -> None: - await bot.send(event, ATRI()._cantdo()) - - -# ===========================[End Command Processing]=========================== - -callrobot_list = [] - - -class ATRI(): - def _callRobot(self, user: Optional[int]) -> str: - global callrobot_list - result = '' - for i in range(0, 5): - if countList(callrobot_list, user) == i: - result = choice(BOT_CONFIG['callRobot']['repo'][i]) - callrobot_list.append(user) - if countList(callrobot_list, user) == 5: - callrobot_list = delListAim(callrobot_list, user) - break - else: - continue - return result - - def _callMe(self) -> str: - return choice(BOT_CONFIG['atri']['repo']) - - def _teeTee(self, user: Optional[int]) -> str: - if user in NONEBOT_CONFIG['superusers']: - return choice(BOT_CONFIG['teetee']['repo']['superusers']) - else: - return choice(BOT_CONFIG['teetee']['repo']['user']) - - def _kani(self) -> str: - return choice(BOT_CONFIG['kani']['repo']) - - def _waste(self) -> str: - return choice(BOT_CONFIG['waste']['repo']) - - def _morning(self) -> str: - period = BOT_CONFIG['morning']['repo'] - if period[0]['period'][0] <= nowTime() < period[0]['period'][1]: - return choice(period[0]['repo']) - elif period[1]['period'][0] <= nowTime() < period[1]['period'][1]: - return choice(period[1]['repo']) - elif period[2]['period'][0] <= nowTime() < period[2]['period'][1]: - return choice(period[2]['repo']) - elif period[3]['period'][0] <= nowTime() < period[3]['period'][1]: - return choice(period[3]['repo']) - elif period[4]['period'][0] <= nowTime() < period[4]['period'][1]: - return choice(period[4]['repo']) - else: - return choice(period['error']) - - def _noon(self) -> str: - if BOT_CONFIG['noon']['period'][0] <= nowTime( - ) < BOT_CONFIG['noon']['period'][1]: - return choice(BOT_CONFIG['noon']['repo']) - else: - return choice(BOT_CONFIG['noon']['error']) - - def _night(self) -> str: - period = BOT_CONFIG['night']['repo'] - if period[0]['period'][0] <= nowTime() < period[0]['period'][1]: - return choice(period[0]['repo']) - elif period[1]['period'][0] <= nowTime() < period[1]['period'][1]: - return choice(period[1]['repo']) - elif period[2]['period'][0] <= nowTime() < period[2]['period'][1]: - return choice(period[2]['repo']) - elif period[3]['period'][0] <= nowTime() < period[3]['period'][1]: - return choice(period[3]['repo']) - elif period[4]['period'][0] <= nowTime() < period[4]['period'][1]: - return choice(period[4]['repo']) - else: - return choice(period['error']) - - def _cantdo(self) -> str: - return choice(BOT_CONFIG['cantdo']['repo'])
\ No newline at end of file |