修复了一些问题,新增sayno指令指南,新增showlist指令
This commit is contained in:
parent
f14cbd7b7d
commit
9348782e9c
@ -142,7 +142,39 @@ namespace Milimoe.RainBOT.Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SendMessage(send_group, target_id, Execute_Worker(".osm missingcommand", ""));
|
else
|
||||||
|
{
|
||||||
|
string msg = "欢迎访问OSM核心功能「随机反驳不」的操作菜单。\r\n" +
|
||||||
|
"① 添加词汇的指令是:.osm sayno <list> <+/-> <value>\r\n" +
|
||||||
|
"② 「随机反驳不」支持以下13个列表,前面6个是关键词表,后7个Say开头的才是词汇表,没特殊情况不要添加关键词:\r\n" +
|
||||||
|
"关键词列表:trigger(基本触发词)、triggerbeforeno(在不之前出现的特殊触发词)、ignoretriggerafterno(在不之后出现则忽略)、ignoretriggerbeforecan(在能之前出现则忽略)、" +
|
||||||
|
"triggerafteryes(在是之后出现则触发)、willnotsayno(不会触发反驳不的词)\r\n" +
|
||||||
|
"词汇表:saynowords(反驳不)、saydonthavewords(反驳没)、saynotyeswords(反驳是)、saydontwords(反驳别)、saywantwords(反驳要)、saythinkwords(反驳想)、" +
|
||||||
|
"sayspecialnowords(特殊反驳不,这个列表触发的可以反驳2个字)\r\n" +
|
||||||
|
"③ 指令中间必须有空格隔开。如果是关键词是不、别、没,可以使用{0}来指代关键词后面的字。";
|
||||||
|
if (GeneralSettings.SayNoAccessGroup.Count > 0)
|
||||||
|
{
|
||||||
|
msg += "\r\n④ 仅有以下成员允许操作「随机反驳不」列表:\r\n" + string.Join("\r\n", GeneralSettings.SayNoAccessGroup);
|
||||||
|
}
|
||||||
|
SendMessage(send_group, target_id, msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (command.Contains(".osm showlist"))
|
||||||
|
{
|
||||||
|
string str = command.Replace(".osm showlist", "").Trim();
|
||||||
|
string[] strs = Regex.Split(str, @"\s+");
|
||||||
|
if (strs.Length > 0)
|
||||||
|
{
|
||||||
|
string part = strs[0].ToString().Trim();
|
||||||
|
if (part.Contains("group"))
|
||||||
|
{
|
||||||
|
GeneralSettings.ShowAccessGroupMemberList(target_id, part, send_group);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SayNo.ShowList(target_id, part, send_group);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (command.Contains(".osm refresh"))
|
else if (command.Contains(".osm refresh"))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -545,7 +545,7 @@ namespace Milimoe.RainBOT.ListeningTask
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 随机复读
|
// 随机复读
|
||||||
if (GeneralSettings.IsRepeat && !Ignore.RepeatIgnore.Contains(e.detail) && e.CheckThrow(GeneralSettings.PRepeat, out dice))
|
if (GeneralSettings.IsRepeat && !Ignore.RepeatIgnore.Any(e.detail.Contains) && e.CheckThrow(GeneralSettings.PRepeat, out dice))
|
||||||
{
|
{
|
||||||
int delay = GeneralSettings.RepeatDelay[0] + new Random().Next(GeneralSettings.RepeatDelay[1] - GeneralSettings.RepeatDelay[0]);
|
int delay = GeneralSettings.RepeatDelay[0] + new Random().Next(GeneralSettings.RepeatDelay[1] - GeneralSettings.RepeatDelay[0]);
|
||||||
Bot.ColorfulCheckPass(sender, "随机复读", dice, GeneralSettings.PRepeat, delay);
|
Bot.ColorfulCheckPass(sender, "随机复读", dice, GeneralSettings.PRepeat, delay);
|
||||||
|
|||||||
@ -206,7 +206,7 @@ try
|
|||||||
if (read.Length >= 4 && read[..4] == ".osm")
|
if (read.Length >= 4 && read[..4] == ".osm")
|
||||||
{
|
{
|
||||||
MasterCommand.Execute(read, GeneralSettings.Master, false, GeneralSettings.Master, false);
|
MasterCommand.Execute(read, GeneralSettings.Master, false, GeneralSettings.Master, false);
|
||||||
return;
|
continue;
|
||||||
}
|
}
|
||||||
switch (read.ToLower().Trim() ?? "")
|
switch (read.ToLower().Trim() ?? "")
|
||||||
{
|
{
|
||||||
|
|||||||
@ -178,5 +178,30 @@ namespace Milimoe.RainBOT.Settings
|
|||||||
Configs.Add("OSMCoreGroup", OSMCoreGroup);
|
Configs.Add("OSMCoreGroup", OSMCoreGroup);
|
||||||
Configs.Save();
|
Configs.Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ShowAccessGroupMemberList(long target, string group, bool isgroup)
|
||||||
|
{
|
||||||
|
List<long> list = [];
|
||||||
|
switch (group.ToLower())
|
||||||
|
{
|
||||||
|
case "muteaccessgroup":
|
||||||
|
list = MuteAccessGroup;
|
||||||
|
break;
|
||||||
|
case "unmuteaccessgroup":
|
||||||
|
list = UnMuteAccessGroup;
|
||||||
|
break;
|
||||||
|
case "recallaccessgroup":
|
||||||
|
list = RecallAccessGroup;
|
||||||
|
break;
|
||||||
|
case "saynoaccessgroup":
|
||||||
|
list = SayNoAccessGroup;
|
||||||
|
break;
|
||||||
|
case "osmcoregroup":
|
||||||
|
list = OSMCoreGroup;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
string msg = list.Count > 0 ? "权限组" + group + "拥有一下成员:" + "\r\n" + string.Join("\r\n", list) : "此权限组不存在或没有任何成员。";
|
||||||
|
_ = isgroup ? Bot.SendGroupMessage(target, "显示列表成员", msg) : Bot.SendFriendMessage(target, "显示列表成员", msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,8 +3,8 @@
|
|||||||
public class OSMCore
|
public class OSMCore
|
||||||
{
|
{
|
||||||
public const string version = "v1.0";
|
public const string version = "v1.0";
|
||||||
public const string version2 = "Patch5";
|
public const string version2 = "Patch6";
|
||||||
public const string time = "Jun. 12th, 2024";
|
public const string time = "Jun. 22nd, 2024";
|
||||||
|
|
||||||
public static string Info => $"OSM Core {version} {version2}\r\nAuthor: Milimoe\r\nBuilt on {time}\r\nSee: https://github.com/milimoe";
|
public static string Info => $"OSM Core {version} {version2}\r\nAuthor: Milimoe\r\nBuilt on {time}\r\nSee: https://github.com/milimoe";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -172,5 +172,73 @@ namespace Milimoe.RainBOT.Settings
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ShowList(long target, string part, bool isgroup)
|
||||||
|
{
|
||||||
|
HashSet<string> set = [];
|
||||||
|
List<string> list = [];
|
||||||
|
bool islist = false;
|
||||||
|
switch (part.ToLower())
|
||||||
|
{
|
||||||
|
case "trigger":
|
||||||
|
set = Trigger;
|
||||||
|
break;
|
||||||
|
case "triggerbeforeno":
|
||||||
|
set = TriggerBeforeNo;
|
||||||
|
break;
|
||||||
|
case "ignoretriggerafterno":
|
||||||
|
set = IgnoreTriggerAfterNo;
|
||||||
|
break;
|
||||||
|
case "ignoretriggerbeforecan":
|
||||||
|
set = IgnoreTriggerBeforeCan;
|
||||||
|
break;
|
||||||
|
case "triggerafteryes":
|
||||||
|
set = TriggerAfterYes;
|
||||||
|
break;
|
||||||
|
case "willnotsayno":
|
||||||
|
set = WillNotSayNo;
|
||||||
|
break;
|
||||||
|
case "saynowords":
|
||||||
|
islist = true;
|
||||||
|
list = SayNoWords;
|
||||||
|
break;
|
||||||
|
case "saydonthavewords":
|
||||||
|
islist = true;
|
||||||
|
list = SayDontHaveWords;
|
||||||
|
break;
|
||||||
|
case "saynotyeswords":
|
||||||
|
islist = true;
|
||||||
|
list = SayNotYesWords;
|
||||||
|
break;
|
||||||
|
case "saydontwords":
|
||||||
|
islist = true;
|
||||||
|
list = SayDontWords;
|
||||||
|
break;
|
||||||
|
case "saywantwords":
|
||||||
|
islist = true;
|
||||||
|
list = SayWantWords;
|
||||||
|
break;
|
||||||
|
case "saythinkwords":
|
||||||
|
islist = true;
|
||||||
|
list = SayThinkWords;
|
||||||
|
break;
|
||||||
|
case "sayspecialnowords":
|
||||||
|
islist = true;
|
||||||
|
list = SaySpecialNoWords;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
string msg;
|
||||||
|
if (islist)
|
||||||
|
{
|
||||||
|
msg = list.Count > 0 ? "列表" + part + "拥有一下成员:" + "\r\n"+ string.Join("\r\n", list) : "此列表不存在或没有任何成员。";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msg = set.Count > 0 ? "列表" + part + "拥有一下成员:" + "\r\n" + string.Join("\r\n", set) : "此列表不存在或没有任何成员。";
|
||||||
|
}
|
||||||
|
_ = isgroup ? Bot.SendGroupMessage(target, "显示列表成员", msg) : Bot.SendFriendMessage(target, "显示列表成员", msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user