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)
def AddGroupSleepListener(bcc: Broadcast) -> None: bcc.receiver("GroupMessage", headless_decorators=[strictPlainCommand("#睡眠套餐") ])(Group_Member_Sleep)
def AddInviteBotListener(bcc: Broadcast): bcc.receiver("BotJoinGroupEvent")(BotJoinGroup) bcc.receiver("BotInvitedJoinGroupRequestEvent")(BotInviteJoinGroup) bcc.receiver("GroupMessage")
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)
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)))
def AddRecallMessageListener(bcc: Broadcast): bcc.receiver("GroupMessage", headless_decorators=[strictPlainCommand("#撤回") ])(GroupRecallOtherMessage)