def AddBotHelpListener(bcc: Broadcast):
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#帮助")
                                      ])(GroupHelpMessage)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#关于")
                                      ])(GroupAboutMessage)
def AddGroupAnswerListener(bcc: Broadcast):
    bcc.receiver("GroupMessage")(GroupAddAnswer)
    bcc.receiver("GroupMessage")(GroupDeleteAnswer)
    bcc.receiver("GroupMessage", headless_decorators=[strictPlainCommand("#可用进群答案")])(
        GroupAllowAnswer
    )
    bcc.receiver("MemberJoinRequestEvent")(MemberJoinRequest)
def AddGroupSentenceListener(bcc: Broadcast):
    bcc.receiver("GroupMessage",
                 headless_decorators=[startWith("#添加群语录")])(GroupAddSentence)
    bcc.receiver("GroupMessage")(GroupShowSentence)
    bcc.receiver("GroupMessage")(GroupDeleteSentence)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#随机语录")
                                      ])(GroupRandomSentence)
def AddGroupMuteMemberListener(bcc: Broadcast):
    bcc.receiver("GroupMessage")(GroupMuteMember)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#解除禁言")
                                      ])(GroupunmuteMember)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#全体禁言")
                                      ])(GroupMuteAll)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#解除全体禁言")
                                      ])(GroupUnMuteAll)
def AddGroupBlockListListener(bcc: Broadcast):
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#警告")
                                      ])(GroupWarnMember)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#删除警告")
                                      ])(GroupCancelWarnMember)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#拉黑")
                                      ])(GroupBlockMember)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#解除拉黑")
                                      ])(GroupUnBlockMember)
def AddAnalyzeEventListener(bcc: Broadcast):
    bcc.receiver(GroupMessage, headless_decorators=[
                 strictPlainCommand("#解析复杂消息")])(AnalyzeGenerator(GroupMessage))
    bcc.receiver(FriendMessage, headless_decorators=[
                 strictPlainCommand("#解析复杂消息")])(AnalyzeGenerator(FriendMessage))
    bcc.receiver(TempMessage, headless_decorators=[
                 strictPlainCommand("#解析复杂消息")])(AnalyzeGenerator(TempMessage))
def AddMemberJoinEventListener(bcc: Broadcast) -> None:
    bcc.receiver("MemberJoinEvent")(GroupMemberJoin)
    bcc.receiver("GroupMessage",
                 headless_decorators=[startWith("#更新入群词")
                                      ])(GroupUpdateMemberJoinMessage)
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#当前入群词")
                                      ])(GroupNowMemberJoinMessage)
def AddGroupAdminListener(bcc: Broadcast):
    bcc.receiver("GroupMessage", headless_decorators=[strictPlainCommand("#添加管理员")])(
        GroupAddAdmin
    )
    bcc.receiver("GroupMessage", headless_decorators=[strictPlainCommand("#解除管理员")])(
        GroupRemoveAdmin
    )
    bcc.receiver("GroupMessage", headless_decorators=[strictPlainCommand("#当前管理员")])(
        GroupAvailableAdmin
    )
def AddAnswerBookListener(bcc: Broadcast):
    bcc.receiver("GroupMessage",
                 headless_decorators=[regexPlain(r"^#神启[\s]*([^\s]*)$")
                                      ])(AnswerBookGroup)
    bcc.receiver("FriendMessage",
                 headless_decorators=[regexPlain(r"^#神启[\s]*([^\s]*)$")
                                      ])(AnswerBookFriend)
    bcc.receiver("TempMessage",
                 headless_decorators=[regexPlain(r"^#神启[\s]*([^\s]*)$")
                                      ])(AnswerBookTemp)
Beispiel #10
0
def AddGroupSleepListener(bcc: Broadcast) -> None:
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#睡眠套餐")
                                      ])(Group_Member_Sleep)
Beispiel #11
0
def AddInviteBotListener(bcc: Broadcast):
    bcc.receiver("BotJoinGroupEvent")(BotJoinGroup)
    bcc.receiver("BotInvitedJoinGroupRequestEvent")(BotInviteJoinGroup)
    bcc.receiver("GroupMessage")
Beispiel #12
0
def AddAppToUrlListener(bcc: Broadcast):
    bcc.receiver("GroupMessage")(AppToUrlAutoConvertGenerator(GroupMessage))
    bcc.receiver("FriendMessage")(AppToUrlAutoConvertGenerator(FriendMessage))
    bcc.receiver("TempMessage")(AppToUrlAutoConvertGenerator(TempMessage))
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#提取App链接")])(
                     MessageAppToUrlGenerator(GroupMessage))
    bcc.receiver("FriendMessage",
                 headless_decorators=[strictPlainCommand("#提取App链接")])(
                     MessageAppToUrlGenerator(FriendMessage))
    bcc.receiver("TempMessage",
                 headless_decorators=[strictPlainCommand("#提取App链接")
                                      ])(MessageAppToUrlGenerator(TempMessage))
def AddGroupConfigChangeListener(bcc: Broadcast):
    bcc.receiver("BotGroupPermissionChangeEvent")(GroupPermissionChange)
    bcc.receiver("GroupNameChangeEvent")(GroupNameChange)
    bcc.receiver("GroupEntranceAnnouncementChangeEvent")(
        GroupEntranceAnnouncementChange)
    bcc.receiver("GroupMuteAllEvent")(GroupMuteAll)
    bcc.receiver("GroupAllowAnonymousChatEvent")(GroupAnonymousChat)
    bcc.receiver("GroupAllowConfessTalkEvent")(GroupConfessTalk)
def AddInitDatabaseListener(bcc: Broadcast):
    bcc.receiver(ApplicationLaunched)(InitGroupDataBase)
Beispiel #15
0
app = GraiaApp(broadcast=bcc,
               connect_info=Session(
                   host=f"http://{setting['host']}:{setting['port']}",
                   authKey=f"{setting['authKey']}",
                   account=setting['qq'],
                   websocket=setting['enableWebsocket']))


# 复读
# @bcc.receiver(FriendMessage)
async def echoer(app: GraiaApp, message: MessageChain, friend: Friend):
    if message.asDisplay().startswith("复读"):
        await app.sendFriendMessage(friend, message.asSendable())


echoer = bcc.receiver(FriendMessage)(echoer)  # 如果不用修饰器

TEST_GROUP_LIST = [943603660]


# 查电费
@bcc.receiver(GroupMessage)
async def electricity(app: GraiaApp, message: MessageChain, group: Group):
    if not (group.id in TEST_GROUP_LIST
            and message.asDisplay().startswith("电费")):
        return

    async with aiohttp.ClientSession() as s:
        resp = await s.get("http://172.81.215.215/pi/electricity",
                           params={'room': message.asDisplay()[2:]})
        json = await resp.json()
        print(f"In headless:{num}")

    return func1


def generator(num):
    async def func2(message: MessageChain, event: GroupMessage):
        print(f"In listener:{num}")
        #if(num>90000):

    return func2


for _ in range(30):
    bcc.receiver("GroupMessage",
                 headless_decoraters=[
                     Depend(warpper(random.randint(0, 10000)))
                 ])(generator(random.randint(0, 100000)))
print("reciver added")


async def main():
    for _ in range(100000):
        group = GroupMessage(messageChain=MessageChain.create(
            [Plain(f"test{random.randint(0,1000000)}")]),
                             sender=Member(id=123456,
                                           memberName="tempNember",
                                           permission=MemberPerm.Member,
                                           group=Group(
                                               id=123456789,
                                               name="tempGroup",
                                               permission=MemberPerm.Member)))
Beispiel #17
0
def AddRecallMessageListener(bcc: Broadcast):
    bcc.receiver("GroupMessage",
                 headless_decorators=[strictPlainCommand("#撤回")
                                      ])(GroupRecallOtherMessage)