public async Task StartAsync() { Support.StartupOperations(); await LogIntoDiscord(); await InitializeEventHandlers(); await TwitchMonitor.StartLiveMonitorAsync(_discordClient); await Task.Delay(-1); }
public static async Task GetChannelIDs(string id, bool refresh = false) { string guildpath = FileDirUtil.GetGuildDir(id); string namepath = Path.Combine(guildpath, FileDirUtil.JSONNAMES); string livepath = Path.Combine(guildpath, FileDirUtil.JSONLIVE); string idpath = Path.Combine(guildpath, FileDirUtil.JSONIDS); Console.WriteLine("getting channel ids"); Dictionary <string, string> nameid = new Dictionary <string, string>(); Dictionary <string, string> live = JSONUtil.GetJsonToDic <string, string>(livepath); List <string> names = JSONUtil.GetJsonToList <string>(namepath); string searchstring = "tinietinie"; if (names.Count > 1) { searchstring = string.Join("&login="******"users?login="******"Channels"); Console.WriteLine("loginresponse" + response); JSONUtil.WriteJsonToFile(null, Path.Combine(guildpath, FileDirUtil.JSONUSERS), response); Console.WriteLine("written users to file"); Users users = JsonConvert.DeserializeObject <Users>(response); Console.WriteLine("made user obj"); foreach (User u in users.users) { Console.WriteLine("user: "******"is refresh"); if (!live.ContainsKey(u.name)) { Console.WriteLine("new key"); live[u.name] = "offline"; } } else { Console.WriteLine("not refresh, set to offline"); live[u.name] = "offline"; } } JSONUtil.WriteJsonToFile(nameid, idpath); JSONUtil.WriteJsonToFile(live, livepath); }
public async Task SaveOrUpdateTwitchMonitorRecord(TwitchMonitorRecord record) { var twitchMonitorSettingsList = await twitchSettingsRepo.GetTwitchMonitorRecord(record); if (twitchMonitorSettingsList == null) { return; } switch (twitchMonitorSettingsList.Count) { case 0: await twitchSettingsRepo.InsertTwitchMonitorRecord(record); break; default: await twitchSettingsRepo.UpdateTwitchMonitorRecord(record); break; } await TwitchMonitor.UpdateMonitorList(); }
public async Task RemoveTwitchMonitorRecord(string twitchMonitorRecordId) { await twitchSettingsRepo.RemoveTwitchMonitorRecord(twitchMonitorRecordId); await TwitchMonitor.UpdateMonitorList(); }