[qq机器人]nonebot2 群管插件2.0
生活随笔
收集整理的這篇文章主要介紹了
[qq机器人]nonebot2 群管插件2.0
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本次群管插件更新了入群申請審批,飛機票(就是踢人),全體禁言等功能,還請各位大佬自行探索
不多廢話,上源碼
from email import message from nonebot import on_keyword, on_regex, on_request,on_command from nonebot.typing import T_State from nonebot.adapters.onebot.v11 import GroupMessageEvent,Bot,GroupRequestEvent import warnings from nonebot.permission import * import rewarnings.filterwarnings("ignore")# 撤回消息 che = on_keyword({'廣告', '沙雕', '廣告', 'md', '媽的', '臥槽', '嘛的', '操你媽', '操你', '加vx','操','草','傻逼','SB','sb','nt','腦癱','騷','CNM','CNm','CnM','Cnm','cNM','cNm','cnM'}) qtk = on_regex(pattern = r'^開啟全禁$') qtg = on_regex(pattern = r'^關(guān)閉全禁$') jy = on_keyword({'禁'}) jj = on_keyword({'解'}) group_remove = on_keyword({'踢'}) group_sq = on_request() agree_apply = on_regex(pattern = r'^同意申請$') disagree_apply = on_regex(pattern = r'^拒絕申請$') zr = 1648576390@che.handle() async def c(bot: Bot, event: GroupMessageEvent, state: T_State):mid = event.message_idgroup = event.group_idqq = event.user_idsj = 300print(mid)print(group)await bot.delete_msg(message_id=mid)await bot.set_group_ban(group_id=group,user_id=qq,duration=sj)await che.finish(message=f'@{qq} 你的發(fā)言可能包含敏感詞匯,這里禁言5分鐘警告一下')@qtk.handle() async def j(bot: Bot, event: GroupMessageEvent, state: T_State):group = event.group_idqq = event.user_idif qq == zr:await bot.set_group_whole_ban(group_id=group,enable=True)await che.finish(message=f'好的大大,辭辭已經(jīng)為您開啟全體禁言了')else:await che.finish(message=f'你沒有資格命令我!')@qtg.handle() async def g(bot: Bot, event: GroupMessageEvent, state: T_State):group = event.group_id#獲取當前群號qq = event.user_idtry:if qq == zr:await bot.set_group_whole_ban(group_id=group,enable=False)await che.finish(message=f'好的大大,辭辭已經(jīng)為您關(guān)閉全體禁言了')else:await che.finish(message=f'你沒有資格命令我!')except IndexError:k = 'error'@jy.handle() async def sj(bot: Bot, event: GroupMessageEvent, state: T_State):try:data = str(event.message)qq2 = event.user_id#獲取用戶idqq = re.findall(r'qq=(.+?)]',data)qq = int(qq[0])sj1 = re.findall(r'] (.+)',data)sj = sj1[0]sj = int(sj)*60if qq2 == zr:await bot.set_group_ban(group_id=event.group_id,user_id=qq,duration=sj)await jy.finish(message=f'好的大大,辭辭已禁言\nQQ:{qq}\n時間:{sj1[0]}分鐘')else:await jy.finish(message=f'你沒有資格命令我!')except IndexError:print('Error')@jj.handle() async def sj(bot: Bot, event: GroupMessageEvent, state: T_State):try:data = str(event.message)qq2 = event.user_id#獲取用戶idqq = re.findall(r'qq=(.+?)]',data)qq = int(qq[0])if qq2 == zr:await bot.set_group_ban(group_id=event.group_id,user_id=qq,duration=0)await jj.finish(message=f'好的大大,辭辭已解除禁言\nQQ:{qq}')else:await jj.finish(message=f'你沒有資格命令我!')except IndexError:print('Error')@group_sq.handle() async def sq(bot: Bot, event: GroupRequestEvent, state: T_State):qq_id = event.user_idmessage = event.comment#獲取驗證信息global flag_idflag_id = event.flag#申請進群的flagglobal type_idtype_id = event.sub_type#請求信息的類型await group_sq.finish(message=f'有人申請進群\nQQ:{qq_id}\n驗證消息:{message}\n同意/拒絕申請')@agree_apply.handle() async def sn(bot: Bot, event: GroupMessageEvent, state: T_State): if event.sender.role == "admin" or event.sender.role == "owner":await bot.set_group_add_request(flag=flag_id,sub_type=type_id,approve=True)else:await group_remove.finish(message=f'對不起,你沒有權(quán)限')@disagree_apply.handle() async def sn(bot: Bot, event: GroupMessageEvent, state: T_State): if event.sender.role == "admin" or event.sender.role == "owner":await bot.set_group_add_request(flag=flag_id,sub_type=type_id,approve=False,reason='機器人自動審批,如有誤判請聯(lián)系群主或其他管理員')else:await group_remove.finish(message=f'對不起,你沒有權(quán)限')@group_remove.handle() async def move(bot: Bot, event: GroupMessageEvent, state: T_State):async def group_admin(event: GroupMessageEvent) -> bool:return event.sender.role == "admin"async def group_owner(event: GroupMessageEvent) -> bool:return event.sender.role == "owner"print(group_admin(event))if event.sender.role == "admin" or event.sender.role == "owner":data = str(event.message)group_id = event.group_idqq_id = re.findall(r'qq=(.+?)]',data)qq_id = qq_id[0]await bot.set_group_kick(group_id=group_id,user_id=qq_id,reject_add_request=False)await group_remove.finish(message=f'已將QQ:{qq_id}移除群聊')else:await group_remove.finish(message=f'對不起,你沒有權(quán)限')總結(jié)
以上是生活随笔為你收集整理的[qq机器人]nonebot2 群管插件2.0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言迷宫游戏怎么存放坐标,求解迷宫问题
- 下一篇: 高频量化交易之王--李庆在华尔街