protected override void OnModuleBuilding(CommandService commandService, ModuleBuilder builder) { base.OnModuleBuilding(commandService, builder); TwitchBot.BotEntry.RegisterItem <Showel>(); TwitchBot.BotEntry.RegisterItem <Snowball>(); TwitchBot.BotEntry.RegisterItem <DirtBall>(); TwitchBot.BotEntry.RegisterItem <Shoe>(); BotEntry.RegisterItem <Gag>(); }
public async Task PerformReturn(params string[] s) { if (ByeMentioned.ContainsKey(Context.User.Username)) { var date = ByeMentioned[Context.User.Username]; ByeMentioned.Remove(Context.User.Username); Reply($"@{Context.User.Nick} вернулся спустя {BotEntry.FormateDate(DateTimeOffset.Now.LocalDateTime - date.LocalDateTime)}"); return; } }
protected override void OnModuleBuilding(CommandService commandService, ModuleBuilder builder) { base.OnModuleBuilding(commandService, builder); Config = new DustConfig(Storage = (DesktopStorage)BotEntry.Storage.GetStorageForDirectory("Dust")); Config.Load(); Colldown = Config.GetBindable <int>(DustConfigEnum.GainTime); SubMultiply = Config.GetBindable <int>(DustConfigEnum.SubMul); DustRecalculateTime = DateTimeOffset.Now.AddSeconds(Colldown); BotEntry.RegisterItem <RedstoneTorch>(); BotEntry.RegisterItem <Piston>(); BotEntry.OnTickActions += OnTick; BotEntry.OnExiting += () => { Config.Save(); }; }
/// <summary> /// Создаёт конфигурацию с одним ботом /// </summary> /// <param name="entry">Информация о боте</param> public BotXConfig(BotEntry entry) => AddEntry(entry);
public async Task Uptime(params string[] sttt) { using (WebRequest req = new WebRequest($@"https://beta.decapi.me/twitch/uptime/{BotEntry.Channel.Value.Substring(1, BotEntry.Channel.Value.Length - 1)}")) { try { req.Failed += (e) => { Reply($"При выполнении запроса произошла ошибка: {e.Message}"); }; req.Perform(); if (req.Completed) { var vars = req.ResponseString.Split(' '); bool offline = false; if (vars.Length == 3) { if (vars[2] == "offline") { Reply($"@{Context.User.Nick}, Стрим оффлайн"); return; offline = true; } else { offline = false; } } if (!offline) { int d = 0, h = 0, m = 0, sec = 0; var param = req.ResponseString.Split(','); foreach (var it in param) { string s = it; if (it[0] == ' ') { s = s.Substring(1, s.Length - 1); } var pair = s.Split(' '); if (pair[1] == "day" || pair[1] == "days") { int.TryParse(pair[0], out d); } else if (pair[1] == "hour" || pair[1] == "hours") { int.TryParse(pair[0], out h); } else if (pair[1] == "minute" || pair[1] == "minutes") { int.TryParse(pair[0], out m); } else if (pair[1] == "second" || pair[1] == "seconds") { int.TryParse(pair[0], out sec); } } Reply($"@{Context.User.Nick}, Стрим работает уже {BotEntry.FormateDate(d, h, m, sec)}"); return; } } } catch (Exception e) { return; } } }