async def _echo(bot: Bot, event: MessageEvent): #print(bot.config.custom_config1,type(bot.config.custom_config1)) if event.get_user_id() not in get_attr('SUPER'): text = "你暂无此权限" else: text = cancel("one", "南岸", get_attr('cookiedic')[event.get_user_id()]) await bot.send(event, text, at_sender=True)
async def _echo(bot: Bot, event: MessageEvent): if event.get_user_id() not in get_attr('SUPER'): text = "你暂无此权限" else: text = getrep("tmo", "南岸", get_attr('cookiedic')[event.get_user_id()]) await bot.send(event, text, at_sender=True)
async def _echo(bot: Bot, event: MessageEvent): name = event.get_plaintext()[5:] if event.get_user_id() not in get_attr('SUPER') and name in get_attr( 'SUPERNAME'): text = '你暂无此权限' else: try: conn = connsql() #判断是否信息表存在 再更新 if not sql_isempty(event.get_user_id(), conn): sql = '(' + event.get_user_id( ) + ',' + name + ',' + "'aaa'" + ')' conn.execute("insert into new values" + sql) conn.commit() else: #print("UPDATE new SET name ="+name+ "WHERE id="+ str(event.get_user_id())) conn.execute("UPDATE new SET name ='" + name + "' WHERE id=" + event.get_user_id()) conn.commit() await get_class(bot, event, conn, name) text = '绑定成功' except Exception as e: text = '绑定失败,错误提示' + str(e) finally: closeconnsql(conn) await bot.send(event, text, at_sender=True)
async def _message(bot: Bot, event: MessageEvent): try: conn = connsql() if event.get_plaintext() != '本周课表': return if not sql_isempty(event.get_user_id(), conn): text = tishi2 else: text = await weekclass(event.get_user_id(), conn, "this") except Exception as e: text = str(e) finally: closeconnsql(conn) await bot.send(event, text, at_sender=True)
async def _check_block(matcher: Matcher, bot: Bot, event: MessageEvent, state: T_State) -> None: user_file = "block_user.json" path = MANEGE_DIR / user_file if not path.is_file(): with open(path, "w", encoding="utf-8") as w: w.write(json.dumps({})) data = dict() data = json.loads(path.read_bytes()) user_id = event.get_user_id() if user_id in data: raise IgnoredException(f"Block user: {user_id}") if isinstance(event, GroupMessageEvent): group_file = "block_group.json" path = MANEGE_DIR / group_file if not path.is_file(): with open(path, "w", encoding="utf-8") as w: w.write(json.dumps({})) data = dict() data = json.loads(path.read_bytes()) group_id = str(event.group_id) if group_id in data: raise IgnoredException(f"Block group: {user_id}")
async def _ready_sepi(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() if not _sepi_flmt.check(user_id): await sepi.finish(choice(_sepi_flmt_notice)) msg = str(event.message).strip() if msg: state["sepi_text"] = msg
async def _deal_s_curse(bot: Bot, event: MessageEvent): user_id = event.get_user_id() if not _curse_flmt.check(user_id): await normal_curse.finish(_curse_flmt_notice) result = await Curse().now() _curse_flmt.start_cd(user_id) await normal_curse.finish(result)
async def _ready_sear(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() if not _anime_flmt.check(user_id): await anime_search.finish(_anime_flmt_notice) msg = str(event.message).strip() if msg: state["anime"] = msg
async def _ready_say(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() if not _chat_flmt.check(user_id): await say.finish(_chat_flmt_notice) msg = str(event.message) if msg: state["say"] = msg
async def _name(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() if not _chat_flmt.check(user_id): await my_name_is.finish(_chat_flmt_notice) msg = str(event.message).strip() if msg: state["name"] = msg
async def _ready_search(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() if not _search_flmt.check(user_id): await saucenao.finish(_search_flmt_notice) msg = str(event.message).strip() if msg: state["img"] = msg
async def _echo(bot: Bot, event: MessageEvent): if event.get_plaintext() != '提示': return bot = nonebot.get_bots()[get_attr('botqq')] if event.get_user_id() not in get_attr('SUPER'): text = "你暂无此权限" await bot.send(event, text, at_sender=True) else: await send_moring()
async def _chat(bot: Bot, event: MessageEvent): user_id = event.get_user_id() if not _chat_flmt.check(user_id): await chat.finish(_chat_flmt_notice) msg = str(event.message) repo = await Chat().deal(msg, user_id) _chat_flmt.start_cd(user_id) await chat.finish(repo)
async def _echo(bot: Bot, event: MessageEvent): #print(bot.config.custom_config1,type(bot.config.custom_config1)) if event.get_user_id() not in get_attr('SUPER'): text = "你暂无此权限" else: text = cancel("tmo", "南岸", get_attr('cookiedic')[event.get_user_id()]) await bot.send(event, text, at_sender=True) # cookie = {} # a = conn.execute("select * from new where name='cdh'") # for i in a: # print(i[2], type(i[2])) # cookie = demjson.decode(i[2]) # # print(cookie, type(cookie)) # # conn.close()
async def _deal_sepi(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() msg = state["sepi_text"] if len(msg) < 4: await sepi.finish("这么短?涩不起来!") result = Yinglish.deal(msg, random()) _sepi_flmt.start_cd(user_id) await sepi.finish(result)
async def _echo(bot: Bot, event: MessageEvent): try: conn = connsql() if not sql_isempty(event.get_user_id(), conn): text = tishi2 else: name = '' a = conn.execute('select name from new where id={}'.format( event.get_user_id())) for i in a: name = i[0] await get_class(bot, event, conn, str(name)) text = '刷新课表成功' except Exception as e: text = '刷新课表失败,错误提示' + str(e) finally: closeconnsql(conn) await bot.send(event, text, at_sender=True)
async def _deal_say(bot: Bot, event: MessageEvent, state: T_State): msg = state["say"] check = CoolqCodeChecker(msg).check if not check: repo = choice(["不要...", "这个咱不想复读!", "不可以", "不好!"]) await say.finish(repo) user_id = event.get_user_id() _chat_flmt.start_cd(user_id) await say.finish(msg)
async def _ready_repo(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() if not _repo_flmt.check(user_id): await repo.finish(_repo_flmt_notice) if not _repo_dlmt.check(user_id): await repo.finish(_repo_dlmt_notice) msg = str(event.message).strip() if msg: state["repo"] = msg
async def _eat_what(bot: Bot, event: MessageEvent): user_id = event.get_user_id() if not _eat_flmt.check(user_id): return msg = str(event.get_message()) user_name = event.sender.nickname or "裙友" eat = await Funny().eat_what(user_name, msg) _eat_flmt.start_cd(user_id) await eat_what.finish(Message(eat))
async def _echo(bot: Bot, event: MessageEvent): try: conn = connsql() #判断是否信息表存在 再更新 if not sql_isempty(event.get_user_id(), conn): text = tishi2 else: conn.execute("delete from new WHERE id={}".format( event.get_user_id())) conn.commit() conn.execute("delete from class WHERE qq={}".format( event.get_user_id())) print("delete from class WHERE qq={}".format(event.get_user_id())) conn.commit() text = "解除绑定成功" except Exception as e: text = '解除绑定失败,错误提示' + str(e) finally: closeconnsql(conn) await bot.send(event, text, at_sender=True)
async def _deal_sear(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() msg = state["anime"] img = re.findall(r"url=(.*?)]", msg) if not img: await anime_search.reject("请发送图片而不是其它东西!!") a = await Anime().search(img[0]) result = f"> {MessageSegment.at(user_id)}\n" + a _anime_flmt.start_cd(user_id) await anime_search.finish(Message(result))
async def _deal_search(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() msg = state["img"] img = findall(r"url=(.*?)]", msg) if not img: await saucenao.reject("请发送图片而不是其他东西!!") a = SaouceNao(SauceNAO.key) result = f"> {MessageSegment.at(user_id)}" + await a.search(img[0]) _search_flmt.start_cd(user_id) await saucenao.finish(Message(result))
async def _deal_name(bot: Bot, event: MessageEvent, state: T_State): user_id = event.get_user_id() new_name = state["name"] repo = choice([ f"好~w 那咱以后就称呼你为{new_name}!", f"噢噢噢!原来你叫{new_name}阿~", f"好欸!{new_name}ちゃん~~~", "很不错的称呼呢w", ]) Chat().name_is(user_id, new_name) _chat_flmt.start_cd(user_id) await my_name_is.finish(repo)
async def _message(bot: Bot, event: MessageEvent): try: #if event.get_plaintext()=='查成绩' or event.get_plaintext()=='课表' or event.get_plaintext()=='今天课表': # return conn = connsql() if not sql_isempty(event.get_user_id(), conn): text = tishi2 else: a = conn.execute('select name from new where id={}'.format( event.get_user_id())) name = '' for i in a: name = i[0] gpa = await get_gradepoint(name) text = '平均学分绩点(排除校选):' + str(round(gpa[0], 2)) text += '\n平均学分绩点(所有科目)::' + str(round(gpa[1], 2)) except Exception as e: text = str(e) finally: closeconnsql(conn) await bot.send(event, text, at_sender=True)
async def _message(bot: Bot, event: MessageEvent): if event.get_plaintext() != '查成绩': return try: conn = connsql() if not sql_isempty(event.get_user_id(), conn): text = tishi2 else: a = conn.execute('select name from new where id={}'.format( event.get_user_id())) name = '' for i in a: name = i[0] await get_exam(bot, event, name) text = False except Exception as e: text = str(e) finally: closeconnsql(conn) if text: await bot.send(event, text, at_sender=True)
async def _echo( bot: Bot, event: MessageEvent, ): try: if event.get_user_id() != get_attr('SUPER')[0]: text = "你暂无此权限" else: name = event.get_plaintext()[5:] text = get_info(name) except Exception as e: text = '错误提示' + str(e) await bot.send(event, text, at_sender=True)
async def _message(bot: Bot, event: MessageEvent): try: conn = connsql() if not sql_isempty(event.get_user_id(), conn): text = tishi2 else: now = int(time.time()) zc = int((now - get_attr('init_time')) / (24 * 60 * 60 * 7) + 1) text = "本周是第" + str(zc) + "周" except Exception as e: text = e finally: closeconnsql(conn) await bot.send(event, text, at_sender=True)
async def _fk_bili(bot: Bot, event: MessageEvent): user_id = event.get_user_id() if not _rich_flmt.check(user_id): return msg = str(event.message) try: result, is_ok = await Rich().fk_bili(msg) except BaseException: return if not is_ok: return _rich_flmt.start_cd(user_id) await bili_rich.finish(result)
async def _deal_repo(bot: Bot, event: MessageEvent, state: T_State): msg = state["repo"] user_id = event.get_user_id() repo_0 = REPO_FORMAT.format(user=user_id, msg=msg) for superuser in BotSelfConfig.superusers: try: await bot.send_private_msg(user_id=superuser, message=repo_0) except BaseException: await repo.finish("发送失败了呢...") _repo_flmt.start_cd(user_id) _repo_dlmt.increase(user_id) await repo.finish("吾辈的心愿已由咱转告维护者!")
async def handle_morning(bot: Bot, event: MessageEvent): session_id = event.get_session_id().split("_") gid = int(session_id[1]) uid = int(event.get_user_id()) time = datetime.now() date = time.date() # 起床时间储存到前一天的数据里 date -= timedelta(days=1) # 0:00 ~ 3:00 及 14:00 ~ 24:00 拒绝命令 if time.hour < 3 or time.hour >= 14: await good_morning.finish("早上好……诶!怎么想都不太对吧!") return # 存入起床时间 if gid in data: if date in data[gid]: if uid in data[gid][date]: # 如果已有起床时间,不作理会 if data[gid][date][uid][1] != -1: await good_morning.finish( "你已经跟小丛雨说过早上好啦!难道睡回笼觉了吗,要是这样小丛雨可要批评你了!") return data[gid][date][uid][1] = time else: data[gid][date][uid] = [-1, time] data[gid][date][-1][1] += 1 else: data[gid][date] = {-1: [0, 1], uid: [-1, time]} else: data[gid] = {date: {-1: [0, 1], uid: [-1, time]}} save_to_file(data) time_list = data[gid][date][uid] order = data[gid][date][-1][1] if time_list[0] != -1: delta = time_list[1] - time_list[0] hours, remains = divmod(delta.seconds, 3600) mins, secs = divmod(remains, 60) sleep_time_info = f"昨晚你睡了 {hours} 小时 {mins} 分,是本群起床第 {order} 人!" else: sleep_time_info = f"你是本群起床第 {order} 人!没有记录到你昨晚的入睡时间呢,今晚记得跟小丛雨说晚安哦!" await good_morning.finish( MessageSegment.at(uid) + "你醒啦!" + sleep_time_info)