def __init__( self, api_key: str = None, output_type=2, testmode=1, dbmaski=32768, db=5, numres=5, ): Service.__init__(self, "以图搜图", __doc__, rule=is_in_service("以图搜图")) params = dict() params["api_key"] = api_key params["output_type"] = output_type params["testmode"] = testmode params["dbmaski"] = dbmaski params["db"] = db params["numres"] = numres self.params = params
def __init__(self): Service.__init__(self, "乐", __doc__, rule=is_in_service("乐"))
"swift": {"ext": "swift"}, "typescript": {"ext": "ts"}, } __doc__ = """ 在线运行代码 权限组:所有人 用法: /code (lang) (code) 示例: /code python print('Hello world!') """ code_runner = sv.on_command(cmd="code", docs=__doc__, rule=is_in_service("code")) @code_runner.handle() async def _code_runner(bot: Bot, event: MessageEvent) -> None: msg = str(event.message).split("\n") if msg[0] == "list": msg0 = "咱现在支持的语言如下:\n" msg0 += ", ".join(map(str, SUPPORTED_LANGUAGES.keys())) await code_runner.finish(msg0) elif not msg[0]: await code_runner.finish("请键入/help以获取更多支持...") laug = msg[0].replace("\r", "")
from random import choice, randint from nonebot.adapters.cqhttp import Bot, MessageEvent, GroupMessageEvent from ATRI.service import Service as sv from ATRI.utils.limit import is_too_exciting from ATRI.rule import is_in_service __doc__ = """ 看不懂的笑话 权限组:所有人 用法: 来句笑话 """ get_laugh = sv.on_message(rule=is_in_service("来句笑话")) sv.manual_reg_service("来句笑话", __doc__) @get_laugh.handle() async def _get_laugh(bot: Bot, event: MessageEvent) -> None: user_name = event.sender.nickname msg = str(event.message) laugh_list = [] if msg != "来句笑话": return FILE = Path(".") / "ATRI" / "data" / "database" / "funny" / "laugh.txt" with open(FILE, "r", encoding="utf-8") as r: for line in r:
import psutil from nonebot.adapters.cqhttp import Bot, MessageEvent from ATRI.log import logger as log from ATRI.service import Service as sv from ATRI.rule import is_in_service from ATRI.exceptions import GetStatusError from ATRI.utils.apscheduler import scheduler from ATRI.config import Config __doc__ = """ 测试机器人状态 """ ping = sv.on_command(cmd="ping", docs="测试机器人", rule=is_in_service("ping")) @ping.handle() async def _ping(bot: Bot, event: MessageEvent) -> None: await ping.finish("I'm fine.") __doc__ = """ 检查机器人性能 权限组:所有人 用法: /status """ status = sv.on_command(cmd="status", docs=__doc__,
__doc__ = """ 抑郁一下 权限组:所有人 用法: @一言 抑郁一下 网抑云 补充: @:at Bot """ hitokoto = sv.on_command(cmd="一言", docs=__doc__, aliases={"抑郁一下", "网抑云"}, rule=is_in_service("一言") & to_bot()) @hitokoto.handle() async def _hitokoto(bot: Bot, event: MessageEvent) -> None: global sick_list user = event.get_user_id() if count_list(sick_list, user) == 3: sick_list.append(user) await hitokoto.finish("额......需要咱安慰一下嘛~?") elif count_list(sick_list, user) == 6: sick_list = del_list_aim(sick_list, user) msg = "如果心里感到难受就赶快去睡觉!别再憋自己了!\n" "我...我会守在你身边的!...嗯..一定" await hitokoto.finish(msg) else:
from ATRI.rule import is_in_service from ATRI.utils.list import count_list, del_list_aim from ATRI.utils.request import get_text from ATRI.exceptions import RequestTimeOut URL = "https://zuanbot.com/api.php?level=min&lang=zh_cn" sick_list = [] __doc__ = """ 口臭一下 权限组:所有人 用法: 口臭,口臭一下,骂我 """ curse = sv.on_message(rule=is_in_service("口臭")) sv.manual_reg_service("口臭", __doc__) @curse.handle() async def _curse(bot: Bot, event: MessageEvent) -> None: global sick_list msg = str(event.message) user = event.get_user_id() curse_key = ["口臭", "口臭一下", "骂我"] if msg not in curse_key: return if count_list(sick_list, user) == 3: sick_list.append(user)
def __init__(self): Service.__init__(self, "在线跑代码", __doc__, rule=is_in_service("在线跑代码"))
__doc__ = """ 检测你图片的涩值 权限组:所有人 用法: /nsfw (pic) 补充: pic: 图片 示例: /nsfw 然后Bot会向你索取图片 """ nsfw_reading = sv.on_command(cmd="nsfw", docs=__doc__, rule=is_in_service("nsfw")) @nsfw_reading.handle() async def _nsfw_r(bot: Bot, event: GroupMessageEvent, state: T_State) -> None: user = event.user_id group = event.group_id msg = str(event.message).strip() check = await coolq_code_check(msg, user, group) if check and msg: state["pic"] = msg @nsfw_reading.got("pic", prompt="图呢?") async def _nsfw_reading(bot: Bot, event: GroupMessageEvent, state: T_State) -> None:
from ATRI.utils.request import get_bytes from .data_source import to_simple_string URL = "https://trace.moe/api/search?url=" __doc__ = """ 以图搜番 权限组:所有人 用法: /anime """ anime_search = sv.on_command(cmd="anime", docs=__doc__, rule=is_in_service("anime")) @anime_search.handle() async def _anime_search(bot: Bot, event: MessageEvent, state: T_State) -> None: msg = str(event.message).strip() if msg: state["msg"] = msg @anime_search.got("msg", prompt="图呢?") async def _(bot: Bot, event: MessageEvent, state: T_State) -> None: msg = state["msg"] img = re.findall(r"url=(.*?)]", msg) if not img: await anime_search.reject("请发送图片而不是其它东西!!")
add_key_temp, load_key_data, add_key, load_key_history, load_key_temp_data, del_key_temp, ) # 此功能暂未完善:未添加关键词删除 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # !屎山注意!屎山注意!屎山注意!屎山注意! # !请自备降压药!请自备降压药! # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! keyrepo = sv.on_message(rule=is_in_service("keyrepo") & to_bot()) @keyrepo.handle() async def _keyrepo(bot: Bot, event: MessageEvent) -> None: msg = str(event.get_message()) data = load_key_data() for key in data.keys(): if key in msg: await keyrepo.finish(choice(data[key])) __doc__ = """ 关键词申请/审核 权限组:所有人
def __init__(self): Service.__init__(self, "涩图", "hso!", rule=is_in_service("涩图"))
def __init__(self): Service.__init__(self, "小程序处理", __doc__, rule=is_in_service("小程序处理"))
from ATRI.service import Service as sv from ATRI.rule import is_in_service from .data_source import roll_dice, Encrypt __doc__ = """ roll一下 权限组:所有人 用法: /roll (int)d(int)+... 补充: int: 阿拉伯数字 示例: /roll 1d10+10d9+4d5+2d3 """ roll = sv.on_command(cmd="roll", docs=__doc__, rule=is_in_service("roll")) @roll.handle() async def _roll(bot: Bot, event: MessageEvent, state: dict) -> None: args = str(event.message).strip() if args: state["resu"] = args @roll.got("resu", prompt="roll 参数不能为空~!\ndemo:1d10 或 2d10+2d10") async def _(bot: Bot, event: MessageEvent, state: dict) -> None: resu = state["resu"] match = re.match(r"^([\dd+\s]+?)$", resu) if not match: