예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
파일: essential.py 프로젝트: coolwindX/ATRI
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}")
예제 #6
0
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
예제 #7
0
파일: curse.py 프로젝트: coolwindX/ATRI
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)
예제 #8
0
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
예제 #9
0
파일: __init__.py 프로젝트: coolwindX/ATRI
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
예제 #10
0
파일: __init__.py 프로젝트: coolwindX/ATRI
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
예제 #11
0
파일: __init__.py 프로젝트: coolwindX/ATRI
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
예제 #12
0
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()
예제 #13
0
파일: __init__.py 프로젝트: coolwindX/ATRI
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)
예제 #14
0
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()
예제 #15
0
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)
예제 #16
0
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)
예제 #17
0
파일: __init__.py 프로젝트: coolwindX/ATRI
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)
예제 #18
0
파일: repo.py 프로젝트: coolwindX/ATRI
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
예제 #19
0
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))
예제 #20
0
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)
예제 #21
0
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))
예제 #22
0
파일: __init__.py 프로젝트: coolwindX/ATRI
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))
예제 #23
0
파일: __init__.py 프로젝트: coolwindX/ATRI
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)
예제 #24
0
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)
예제 #25
0
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)
예제 #26
0
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)
예제 #27
0
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)
예제 #28
0
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)
예제 #29
0
파일: repo.py 프로젝트: coolwindX/ATRI
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("吾辈的心愿已由咱转告维护者!")
예제 #30
0
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)