添加特殊权限组
This commit is contained in:
parent
15958d6bfa
commit
1a93a41690
@ -675,6 +675,20 @@ namespace Milimoe.RainBOT.Command
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "specialaccessgroup":
|
||||
if (args.Length > 1 && long.TryParse(args[1].Replace("@", "").Trim(), out long specialaccess_qq))
|
||||
{
|
||||
string args0 = args[0].ToString().Trim();
|
||||
if (args0 == "add" || args0 == "remove" || args0 == "+" || args0 == "-")
|
||||
{
|
||||
isadd = args0 == "add" || args0 == "+";
|
||||
if (isadd) GeneralSettings.SpecialAccessGroup.Add(specialaccess_qq);
|
||||
else GeneralSettings.SpecialAccessGroup.Remove(specialaccess_qq);
|
||||
msg = AddRemoveAccessGroupMember("特殊权限组成员", isadd, specialaccess_qq);
|
||||
return msg;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "osmcoregroup":
|
||||
if (args.Length > 1 && long.TryParse(args[1].Trim(), out long osmcoregroup_id))
|
||||
{
|
||||
|
||||
@ -77,7 +77,7 @@ namespace Milimoe.RainBOT.ListeningTask
|
||||
}
|
||||
|
||||
// 撤回消息
|
||||
if ((e.user_id == GeneralSettings.Master || GeneralSettings.RecallAccessGroup.Contains(e.user_id)) && e.detail.Contains("撤回;") && e.message.Any(m => m.type == "reply"))
|
||||
if ((e.user_id == GeneralSettings.Master || GeneralSettings.RecallAccessGroup.Contains(e.user_id)) && Bot.IsAdmin(e.group_id, e.user_id) && e.detail.Contains("撤回;") && e.message.Any(m => m.type == "reply"))
|
||||
{
|
||||
ReplyMessage reply = (ReplyMessage)e.message.Where(m => m.type == "reply").First();
|
||||
if (long.TryParse(reply.data.id, out long id))
|
||||
@ -89,7 +89,7 @@ namespace Milimoe.RainBOT.ListeningTask
|
||||
}
|
||||
|
||||
// 精华消息
|
||||
if ((e.user_id == GeneralSettings.Master || Bot.IsAdmin(e.group_id, e.user_id)) && e.detail.Contains("精华;") && e.message.Any(m => m.type == "reply"))
|
||||
if ((e.user_id == GeneralSettings.Master || GeneralSettings.SpecialAccessGroup.Contains(e.user_id)) && Bot.IsAdmin(e.group_id, e.user_id) && e.detail.Contains("精华;") && e.message.Any(m => m.type == "reply"))
|
||||
{
|
||||
ReplyMessage reply = (ReplyMessage)e.message.Where(m => m.type == "reply").First();
|
||||
if (int.TryParse(reply.data.id, out int id))
|
||||
@ -109,7 +109,7 @@ namespace Milimoe.RainBOT.ListeningTask
|
||||
}
|
||||
}
|
||||
|
||||
if (e.user_id != GeneralSettings.Master && Ignore.CustomIgnore.Any(e.detail.Contains) && Bot.BotIsAdmin(e.group_id))
|
||||
if ((e.user_id != GeneralSettings.Master && !GeneralSettings.SpecialAccessGroup.Contains(e.user_id)) && Ignore.CustomIgnore.Any(e.detail.Contains) && Bot.BotIsAdmin(e.group_id))
|
||||
{
|
||||
await Bot.SendMessage(SupportedAPI.delete_msg, e.group_id, "撤回", new DeleteMsgContent(e.message_id), true);
|
||||
await Bot.SendMessage(SupportedAPI.set_group_ban, e.group_id, "禁言", new SetGroupBanContent(e.group_id, e.user_id, 120), true);
|
||||
|
||||
@ -58,6 +58,8 @@ namespace Milimoe.RainBOT.Settings
|
||||
|
||||
public static List<long> SayNoAccessGroup { get; set; } = [];
|
||||
|
||||
public static List<long> SpecialAccessGroup { get; set; } = [];
|
||||
|
||||
public static List<long> OSMCoreGroup { get; set; } = [];
|
||||
|
||||
public static List<long> FunGameGroup { get; set; } = [];
|
||||
@ -172,6 +174,10 @@ namespace Milimoe.RainBOT.Settings
|
||||
{
|
||||
SayNoAccessGroup = (List<long>)value;
|
||||
}
|
||||
if (configs.TryGetValue("SpecialAccessGroup", out value) && value != null)
|
||||
{
|
||||
SpecialAccessGroup = (List<long>)value;
|
||||
}
|
||||
if (configs.TryGetValue("OSMCoreGroup", out value) && value != null)
|
||||
{
|
||||
OSMCoreGroup = (List<long>)value;
|
||||
@ -223,6 +229,7 @@ namespace Milimoe.RainBOT.Settings
|
||||
Configs.Add("UnMuteAccessGroup", UnMuteAccessGroup);
|
||||
Configs.Add("RecallAccessGroup", RecallAccessGroup);
|
||||
Configs.Add("SayNoAccessGroup", SayNoAccessGroup);
|
||||
Configs.Add("SpecialAccessGroup", SpecialAccessGroup);
|
||||
Configs.Add("OSMCoreGroup", OSMCoreGroup);
|
||||
Configs.Add("FunGameGroup", FunGameGroup);
|
||||
Configs.Add("FunGameWebSocketGroup", FunGameWebSocketGroup);
|
||||
@ -249,6 +256,9 @@ namespace Milimoe.RainBOT.Settings
|
||||
case "saynoaccessgroup":
|
||||
list = SayNoAccessGroup;
|
||||
break;
|
||||
case "specialaccessgroup":
|
||||
list = SpecialAccessGroup;
|
||||
break;
|
||||
case "osmcoregroup":
|
||||
list = OSMCoreGroup;
|
||||
break;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user