// private List<Fissure> _fissures = api.GetFissures(); public void SendCycles(GroupNumber group) { var cetuscycle = api.GetCetusCycle(); var valliscycle = api.GetVallisCycle(); var earthcycle = api.GetEarthCycle(); var msg = $"{WFFormatter.ToString(cetuscycle)}\r\n" + $"{WFFormatter.ToString(valliscycle)}\r\n" + $"{WFFormatter.ToString(earthcycle)}"; Messenger.SendGroup(group, msg.AddPlatformInfo().AddRemainCallCount(group)); }
public void SendWMInfo(string item, string group) { var searchword = translator.TranslateSearchWord(item); var formateditem = item; if (item == searchword) { searchword = translator.TranslateSearchWord(item + "一套"); formateditem = item + "一套"; if (formateditem == searchword) { searchword = translator.TranslateSearchWord(item.Replace("p", "prime").Replace("总图", "蓝图")); formateditem = item.Replace("p", "prime").Replace("总图", "蓝图"); if (formateditem == searchword) { searchword = translator.TranslateSearchWord(item.Replace("p", "prime") + "一套"); formateditem = item.Replace("p", "prime") + "一套"; if (formateditem == searchword) { var sb = new StringBuilder(); var similarlist = translator.GetSimilarItem(item.Format()); sb.AppendLine($"物品{item}不存在或格式错误."); sb.AppendLine($"请问这下面有没有你要找的物品呢?:"); foreach (var similarresult in similarlist) { sb.AppendLine($" {similarresult}"); } Messenger.SendGroup(group, sb.ToString().Trim()); return; } } } } var msg = ""; if (isWFA) { var infoEx = GetWMINfoEx(searchword); OrderWMInfoEx(infoEx); translator.TranslateWMOrderEx(infoEx, searchword); msg = WFFormatter.ToString(infoEx); } else { var info = GetWMInfo(searchword); OrderWMInfo(info); translator.TranslateWMOrder(info, searchword); msg = WFFormatter.ToString(info); } Messenger.SendGroup(group, msg); }
public void SendAllPersistentEnemies(string group) { var enemies = api.GetPersistentEnemies(); var sb = new StringBuilder(); sb.AppendLine("下面是全太阳系内的小小黑,快去锤爆?"); foreach (var enemy in enemies) { sb.AppendLine(WFFormatter.ToString(enemy)); } Messenger.SendGroup(group, sb.ToString().Trim()); }
public void SendEvent(string group) { var events = api.GetEvents(); if (events.Count > 0) { var msg = WFFormatter.ToString(events); Messenger.SendGroup(group, msg + $"\r\n机器人目前运行的平台是: {platform}"); } else { Messenger.SendGroup(group, "目前游戏内没有任何活动(尸鬼,豺狼,舰队)." + $"\r\n机器人目前运行的平台是: {platform}"); } }
public void SendKuvaMissions(GroupNumber group) { var sb = new StringBuilder(); var kuvas = api.GetKuvaMissions(); sb.AppendLine("以下是所有赤毒任务: \n\n"); // foreach (var kuva in kuvas.Where(k => k.missiontype.Contains("KuvaMission") && k.start < DateTime.Now && DateTime.Now < k.end)) foreach (var kuva in kuvas) { sb.AppendLine(WFFormatter.ToString(kuva)); sb.AppendLine(); } Messenger.SendGroup(group, sb.ToString().Trim()); }
public void SendAllAlerts(string group) { var alerts = api.GetAlerts(); var sb = new StringBuilder(); sb.AppendLine("指挥官, 下面是太阳系内所有的警报任务, 供您挑选."); foreach (var alert in alerts) { sb.AppendLine(WFFormatter.ToString(alert)); sb.AppendLine(); } Messenger.SendGroup(group, sb.ToString().Trim() + $"\r\n机器人目前运行的平台是: {platform}"); }
public void SendEvent(GroupNumber group) { var events = api.GetEvents(); if (events.Any()) { var msg = WFFormatter.ToString(events); Messenger.SendGroup(group, msg.AddPlatformInfo().AddRemainCallCount(group)); } else { Messenger.SendGroup(group, "目前游戏内没有任何活动 (尸鬼, 豺狼, 舰队).".AddPlatformInfo().AddRemainCallCount(group)); } }
public void SendAllAlerts(string group) { var alerts = api.GetAlerts(); var sb = new StringBuilder(); sb.AppendLine("查询到当前时间的警报如下:"); foreach (var alert in alerts) { sb.AppendLine(WFFormatter.ToString(alert)); sb.AppendLine(); } Messenger.SendGroup(group, sb.ToString().Trim()); }
public void SendAllAlerts(GroupNumber group) { UpdateAlertPool(); var alerts = AlertPool; var sb = new StringBuilder(); sb.AppendLine("指挥官, 下面是太阳系内所有的警报任务, 供您挑选."); foreach (var alert in alerts) { sb.AppendLine(WFFormatter.ToString(alert)); sb.AppendLine(); } Messenger.SendGroup(group, sb.ToString().Trim().AddPlatformInfo()); }
private void SendWFAlert(WFAlert alert) { lock (WFAlertLocker) { var reward = alert.Mission.Reward; if (reward.Items.Any() || reward.CountedItems.Any()) { var result = "指挥官, Ordis拦截到了一条警报, 您要开始另一项光荣的打砸抢任务了吗?\r\n" + WFFormatter.ToString(alert) + "\r\n可使用: /help来查看机器人的更多说明."; Messenger.Broadcast(result); sendedAlertsSet.Add(alert.Id); } } }
public void SendAllInvasions(string group) { var invasions = api.GetInvasions(); var sb = new StringBuilder(); sb.AppendLine("指挥官, 下面是太阳系内所有的入侵任务."); foreach (var invasion in invasions.Where(invasion => !invasion.completed)) { sb.AppendLine(WFFormatter.ToString(invasion)); sb.AppendLine(); } Messenger.SendGroup(group, sb.ToString().Trim()); }
public void SendAllInvasions(GroupNumber group) { UpdateInvasionPool(); var invasions = InvasionPool; var sb = new StringBuilder(); sb.AppendLine("指挥官, 下面是太阳系内所有的入侵任务."); foreach (var invasion in invasions.Where(invasion => !invasion.completed)) { sb.AppendLine(WFFormatter.ToString(invasion)); sb.AppendLine(); } Messenger.SendGroup(group, sb.ToString().Trim().AddPlatformInfo()); }
public void SendAllPersistentEnemies(GroupNumber group) { var enemies = StalkerPool; if (!enemies.Any()) { Messenger.SendGroup(group, "目前没有小小黑出现."); return; } var sb = new StringBuilder(); sb.AppendLine("下面是全太阳系内的小小黑, 快去锤爆?"); foreach (var enemy in enemies) { sb.AppendLine(WFFormatter.ToString(enemy)); } Messenger.SendGroup(group, sb.ToString().Trim()); }
public void SendRivenInfos(GroupNumber group, string weapon) { var sb = new StringBuilder(); try { if (isWFA) { if (translator.ContainsWeapon(weapon)) { Messenger.SendGroup(group, "好嘞, 等着, 着啥急啊, 这不帮你查呢."); var info = GetRivenInfos(weapon); var data = GetRivenDatas().Where(d => d.compatibility.Format() == weapon).ToList(); var msg = info.Any() ? WFFormatter.ToString(info, data) : $"抱歉, 目前紫卡市场没有任何出售: {weapon} 紫卡的用户.".AddRemainCallCount(group); sb.AppendLine(msg.AddPlatformInfo()); } else { sb.AppendLine($"武器 {weapon} 不存在."); var similarlist = translator.GetSimilarItem(weapon, "rm"); if (similarlist.Any()) { sb.AppendLine("请问这下面有没有你要找的武器呢?(可尝试复制下面的名称来进行搜索)"); foreach (var item in similarlist) { sb.AppendLine($" {item}"); } } } } else { sb.AppendLine("本机器人没有 WFA 授权, 本功能无法使用, 请联系机器人管理员."); } } catch (WebException) { sb.AppendLine("经过我们的多次尝试, 依然无法访问紫卡市场. 如果你不能谅解, 有本事顺着网线来打我呀."); } Messenger.SendGroup(group, sb.ToString().Trim()); }
private void CheckPersistentEnemies() { var enemies = StalkerPool; if (!enemies.Any(enemy => enemy.isDiscovered && !sendedStalkerSet.Contains(enemy.lastDiscoveredTime))) { return; } var sb = new StringBuilder(); sb.AppendLine("我看到有小小黑冒头了? 干!"); foreach (var enemy in enemies.Where(enemy => enemy.isDiscovered && !sendedStalkerSet.Contains(enemy.lastDiscoveredTime))) { sb.AppendLine(WFFormatter.ToString(enemy)); sendedStalkerSet.Add(enemy.lastDiscoveredTime); } Messenger.Broadcast(sb.ToString().Trim()); }
private void UpdatePersistentEnemies() { lock (StalkerLocker) { var enemies = api.GetPersistentEnemies(); var sb = new StringBuilder(); if (enemies.Any(enemy => enemy.isDiscovered && !sendedStalkerSet.Contains(enemy.lastDiscoveredTime))) { sb.AppendLine("我看到有小小黑冒头了?干!"); foreach (var enemy in enemies) { if (enemy.isDiscovered && !sendedStalkerSet.Contains(enemy.lastDiscoveredTime)) { sb.AppendLine(WFFormatter.ToString(enemy)); sendedStalkerSet.Add(enemy.lastDiscoveredTime); } } Messenger.Broadcast(sb.ToString().Trim()); } } }
public void SendRiveninfos(string group, string weapon) { try { if (isWFA) { if (translator.ContainsWeapon(weapon)) { Messenger.SendGroup(group, "好嘞, 等着, 着啥急啊, 这不帮你查呢."); var info = GetRiveninfos(weapon); var msg = ""; if (info.Count > 0) { msg = WFFormatter.ToString(info); } else { msg = $"抱歉, 目前紫卡市场没有任何出售: {weapon} 紫卡的用户."; } Messenger.SendGroup(group, msg + $"\r\n机器人目前运行的平台是: {platform}"); } else { Messenger.SendGroup(group, $"武器{weapon}不存在, 请检查格式(请注意: 悦音prime)"); } } else { Messenger.SendGroup(group, "本机器人没有WFA授权, 本功能无法使用, 请联系机器人管理员."); } } catch (WebException) { Messenger.SendGroup(group, "经过我们的多次尝试, 依然无法访问紫卡市场. 如果你不能谅解, 有本事顺着网线来打我呀."); } }
public void SendWMInfo(string item, GroupNumber group, bool quickReply) { // 下面 你将要 看到的 是 本项目 最大的 粪山 var words = new List <string> { "prime", "p", "甲" }; var heads = new List <string> { "头部神经光", "头部神经", "头部神", "头部", "头" }; foreach (var word in words) { foreach (var head in heads) { if (!item.Contains("头部神经光元")) { if (item.Contains(word + head)) { item = item.Replace(word + head, word + "头部神经光元"); break; } } } } var searchword = translator.TranslateSearchWord(item); var formateditem = item; if (item == searchword) { searchword = translator.TranslateSearchWord(item + "一套"); formateditem = item + "一套"; if (formateditem == searchword) { searchword = translator.TranslateSearchWord(item.Replace("p", "prime").Replace("总图", "蓝图")); formateditem = item.Replace("p", "prime").Replace("总图", "蓝图"); if (formateditem == searchword) { searchword = translator.TranslateSearchWord(item.Replace("p", "prime") + "一套"); formateditem = item.Replace("p", "prime") + "一套"; if (formateditem == searchword) { var sb = new StringBuilder(); var similarlist = translator.GetSimilarItem(item.Format()); sb.AppendLine($"物品 {item} 不存在或格式错误."); sb.AppendLine($"请问这下面有没有你要找的物品呢?(可尝试复制下面的名称来进行搜索)"); foreach (var similarresult in similarlist) { sb.AppendLine($" {similarresult}"); } sb.AppendLine("注: 这个命令是用来查询 WarframeMarket 上面的物品的, 不是其他什么东西."); Messenger.SendGroup(group, sb.ToString().Trim().AddRemainCallCount(group)); return; } } } } var msg = string.Empty; Messenger.SendGroup(group, "好嘞, 等着, 着啥急啊, 这不帮你查呢."); var failed = false; if (Config.Instance.IsThirdPartyWM) { try { if (isWFA) { var infoEx = GetWMINfoEx(searchword); if (infoEx.orders.Any()) { OrderWMInfoEx(infoEx); translator.TranslateWMOrderEx(infoEx, searchword); msg = WFFormatter.ToString(infoEx, quickReply); } else { msg = $"抱歉, WarframeMarket 上目前还没有售卖 {item} 的用户"; } } else { msg = "很抱歉, 本机器人没有 WFA 授权, 无法使用第三方 WM, 这很可能是由于错误设置导致的. 请联系机器人负责人."; } } catch (Exception) { Messenger.SendGroup(group, "很抱歉, 在使用第三方 API 时遇到了网络问题. 正在为您转官方 API."); failed = true; } } if (!Config.Instance.IsThirdPartyWM || failed) { var info = GetWMInfo(searchword); if (info.payload.orders.Any()) { OrderWMInfo(info); translator.TranslateWMOrder(info, searchword); msg = WFFormatter.ToString(info, quickReply); } else { msg = $"抱歉, WarframeMarket 上目前还没有售卖 {item} 的用户"; } } if (!quickReply) { msg = $"{msg}\n\n如果你需要快捷回复, 请使用指令 <查询 {item} -QR>"; } Messenger.SendGroup(group, msg.AddPlatformInfo().AddRemainCallCount(group)); }
public void SendWMInfo(string item, GroupNumber group) { var searchword = translator.TranslateSearchWord(item); var formateditem = item; if (item == searchword) { searchword = translator.TranslateSearchWord(item + "一套"); formateditem = item + "一套"; if (formateditem == searchword) { searchword = translator.TranslateSearchWord(item.Replace("p", "prime").Replace("总图", "蓝图")); formateditem = item.Replace("p", "prime").Replace("总图", "蓝图"); if (formateditem == searchword) { searchword = translator.TranslateSearchWord(item.Replace("p", "prime") + "一套"); formateditem = item.Replace("p", "prime") + "一套"; if (formateditem == searchword) { var sb = new StringBuilder(); var similarlist = translator.GetSimilarItem(item.Format()); sb.AppendLine($"物品 {item} 不存在或格式错误."); sb.AppendLine($"请问这下面有没有你要找的物品呢?(可尝试复制下面的名称来进行搜索)"); foreach (var similarresult in similarlist) { sb.AppendLine($" {similarresult}"); } Messenger.SendGroup(group, sb.ToString().Trim()); return; } } } } var msg = string.Empty; Messenger.SendGroup(group, "好嘞, 等着, 着啥急啊, 这不帮你查呢."); var failed = false; if (Config.Instance.IsThirdPartyWM) { try { if (isWFA) { var infoEx = GetWMINfoEx(searchword); if (infoEx.orders.Any()) { OrderWMInfoEx(infoEx); translator.TranslateWMOrderEx(infoEx, searchword); msg = WFFormatter.ToString(infoEx); } else { msg = $"抱歉, WarframeMarket 上目前还没有售卖 {item} 的用户"; } } else { msg = "很抱歉, 本机器人没有 WFA 授权, 无法使用第三方 WM, 这很可能是由于错误设置导致的. 请联系机器人负责人."; } } catch (Exception) { Messenger.SendGroup(group, "很抱歉, 在使用第三方 API 时遇到了网络问题. 正在为您转官方 API."); failed = true; } } if (!Config.Instance.IsThirdPartyWM || failed) { var info = GetWMInfo(searchword); if (info.payload.orders.Any()) { OrderWMInfo(info); translator.TranslateWMOrder(info, searchword); msg = WFFormatter.ToString(info); } else { msg = $"抱歉, WarframeMarket 上目前还没有售卖 {item} 的用户"; } } Messenger.SendGroup(group, msg.AddPlatformInfo()); }