from nonebot.adapters.cqhttp.message import Message st = [ '悬疑推理', '奇幻', '青梅竹马', 'RPG', '探险', '传奇', '学园', '恋爱', '女性向', '猎奇', 'NTR', '致郁', '过激', '后宫', '妹系', '同居', '女性视角', '喜剧', '机器人', '大小姐', '魔法', '魔物娘', '萝莉', '近未来', '校园', '社团', '战斗', '科幻', '女装', '馆', '女仆', '病娇', '老师', '岛', '纯爱', '青春', '百合', '护士', '穿越', '策略', '模拟经营', '姐妹', '兽耳', '田园', '职场', '偶像', '御姐', '冒险', '怪物娘', '女神', '巫女', '解谜', '幻想', '公主', '新娘', '美少女养成游戏', '科学幻想', '鬼畜', '内涵', '异世界', '养成', '黑暗向', '悬疑', '国产', '妻', '模拟养成', '催泪', '架空世界', '3D', '双子', '天使', '甜作', '伪娘', '重口', '夏', '治愈', '女子**', '姐系', '超能力', '恶魔', 'ACT', '三角关系', '魔女', '魔法少女', '怪物', '女战士', '开店', '吸血鬼', '咖啡店', '音乐', '末世', '和风', '魔幻', '蔷薇向', '轮回', '傲娇', '灵异', '禁忌恋', '另类', '变身', '复仇', '电波作', '童话', '未亡人', '蒸汽朋克', '网络世界', '剧情', '青涩' ] Random_Gal = on_command('gal', priority=5, rule=check_white_list_all()) # gal random Tag_List = on_command('taglist', priority=5, rule=check_white_list_all()) async def get_img(pic_url): async with AsyncClient(proxies={}) as Client: _get_sample = await Client.get(url=pic_url) get_sample = _get_sample.read() with open(file=os.path.join(os.getcwd(), 'DataBase\\SamplePicGal.jpg'), mode='wb') as WS: WS.write(get_sample) pic_url = os.path.join(os.getcwd(), 'DataBase\\SamplePicGal.jpg') return pic_url async def get_random_game(Client, event): # 随机galgame推荐
import random import os import re import datetime import aiohttp from config import lolicon_api, masterList, setu_path from httpx import AsyncClient from nonebot import get_driver from nonebot.adapters.cqhttp import Bot from nonebot.adapters.cqhttp.event import (Event, GroupMessageEvent, PrivateMessageEvent) from nonebot.adapters.cqhttp.message import Message from nonebot.plugin import on_command, on_regex global last_time_command, last_time_Rrandom, resetTime command_setu = on_command("setu", priority=5, rule=check_white_list_all()) regex_setu_random = on_regex( pattern=r'^[来整]点[涩色活好康][的图儿]$|^[色涩]图来$|^冲[亿1一]发$|^冲$|^[色涩黄]图$') regex_setu_search = on_regex( pattern=r'^[来整]点.\S*[色涩黄]图$|^[来整][几.\S*][张份个]\S*[色涩黄]图$') last_time_command, last_time_Rrandom, resetTime = '', '', True download_urls = [] word_to_int = { "一": 1, "二": 2, "两": 2, "三": 3, "四": 4, "五": 5, "六": 6,
5.多图连搜 """ import re import os from nonebot.adapters.cqhttp import Bot from nonebot.adapters.cqhttp.event import (Event, GroupMessageEvent, PrivateMessageEvent) from nonebot.adapters.cqhttp.message import Message from nonebot.plugin import on_message from costrule import check_white_list_all, only_reply from httpx import AsyncClient from config import SauceNAO_api api_key = SauceNAO_api Reply_SearchPic = on_message(priority=5, rule=only_reply() & check_white_list_all(), block=True) @Reply_SearchPic.handle() async def _Reply_SearchPic(bot: Bot, event: Event): send_except_msg = (Message( f"[CQ:at,qq={event.get_user_id()}]你确定你给我的是一张图片?\n" "若持续出此报错,请按照以下步骤搜图:\n" '1.将图片逐张转发至Senrin\n' '2.回复需要搜索的图片并附上“搜图”')) if '搜图' in str(event.get_message()): search_list = [] result_list = [] send_msg_result = '搜图结果如下:\n' for _msg in event.reply.message: # type:ignore 初步处理数据
from config import bot_id, masterList from costrule import check_white_list_all, check_white_list_group, only_master from nonebot import get_bots, get_driver, on_command, require from nonebot.adapters.cqhttp import Bot, Event from nonebot.adapters.cqhttp.message import Message from nonebot.adapters.cqhttp.event import GroupIncreaseNoticeEvent, GroupMessageEvent from nonebot.plugin import on_message, on_notice global memdic memdic = {} LogPath = os.path.join(os.getcwd(), 'DataBase', 'Json', 'datalog.json') StartTime = datetime.datetime.now() scheduler = require('nonebot_plugin_apscheduler').scheduler # 定义计划任务 water = on_command("water", priority=5, rule=check_white_list_all()) # 定义water查询命令 resetLog = on_command("resetLog", priority=5, rule=only_master()) # 定义手动重置模块 writeLog = on_message(rule=check_white_list_group(), priority=5) # 定义吹氵记录增加 addLog = on_notice(priority=5) # 定义群成员变动 async def get_water_list(groupID, bot): linedic = memdic[str(groupID)] findic = reversed( sorted(linedic.items(), key=lambda kv: (kv[1], kv[0]))) a = 0 pa = "-------氵怪排行榜-------" for elem in findic: UQID = elem[0] ts = elem[1] a = a+1
from costrule import check_white_list_all import os import json import random HelpPath = os.path.join(os.getcwd(), 'DataBase', 'HelpTXT') StudyPath = os.path.join(os.getcwd(), 'DataBase', 'Json', 'studylib.json') with open(os.path.join(HelpPath, 'HelpList.txt'), 'r', encoding='utf-8-sig') as hp: HelpList = hp.read() with open(StudyPath, 'r', encoding="utf-8") as fr: studylib = json.load(fr) at_msg_reply = studylib['public']['preinstall_words']['at_msg_reply'] help = on_command("help", priority=5, rule=check_white_list_all()) at_msg = on_message(rule=to_me() & check_white_list_all(), priority=5) @help.handle() async def handle_help(bot: Bot, event: Event, state: dict): args = str(event.get_message()).strip() if args: state["functionID"] = args await bot.send(event, "get it!") else: msg = ('请直接输入功能代码获取帮助~\n' f'[CQ:at,qq={event.get_user_id()}]Senrin目前支持的功能如下:\n' f'{HelpList}') await help.send(Message(msg))
} """ import os import json from config import masterList from costrule import check_white_list_all, only_master from nonebot import on_command from nonebot.adapters.cqhttp import Bot, Event from nonebot.adapters.cqhttp.message import Message from nonebot.adapters.cqhttp.event import PrivateMessageEvent from nonebot.plugin import on_message from nonebot.typing import T_State from PIL import Image, ImageDraw, ImageFont study = on_command("study", priority=5, rule=check_white_list_all()) # 定义study命令 lib_manage = on_command('lib_manage', priority=5, rule=only_master()) # 定义查询与删除 get_march = on_message(rule=check_white_list_all(), priority=5) StudyPath = os.path.join(os.getcwd(), 'DataBase', 'Json', 'studylib.json') with open(StudyPath, 'r', encoding="utf-8") as fr: studylib = json.load(fr) @study.handle() # study写入,需二次确认[private] async def handle_study(bot: Bot, event: Event, state: T_State): arg = str(event.get_message()).split() """ study写入传参 #study module(str) key(str) value(str) 至于<similar(int)>就先咕咕咕吧(别打我) 这次用dict写,可以用更多的符号
"""time""" set_Font = ImageFont.truetype(os.path.join( os.getcwd(), "DataBase", 'msyh.ttc'), 40) # 设置字体属性 write_words.text((40, 500), f'入群时间:{time}', fill="#FFFFFF", font=set_Font) """copyright""" cr = 'Copyright ©2020-2021 SakuraiCora, All Rights Reserved.' set_Font = ImageFont.truetype(os.path.join( os.getcwd(), "DataBase", 'msyh.ttc'), 15) # 设置字体属性 w, h = set_Font.getsize(cr) write_words.text(((640-w)/2, 600), cr, fill="#FFFFFF", # type:ignore font=set_Font) save_path = os.path.join(os.getcwd(), "DataBase", "HeadSend.jpg") # 设置保存路径 back_ground.save(save_path) return save_path info = on_command('info', priority=5, rule=check_white_list_all()) @info.handle() async def info_get(bot: Bot, event): args = str(event.get_message()).strip() if args: try: args = re.findall(r"\[CQ:at,qq=(\d+).*?\]", args) # 正则匹配QQ号 args = int(args[0]) except: await info.finish("[参数处理错误:args]") # 异常处理 if isinstance(event, GroupMessageEvent): if isinstance(args, int): msg = Message( "Senrin正在制作属于你的专属资料卡......\n"