public void ChangeDbIDList( string Name, string Data ) { IDList idlist = new IDList { Name = Name, Data = Data }; using (var db = new BlacklistDatabaseContext()) { db.IDList.Add(idlist); try { db.IDList.Add(idlist); db.SaveChanges(); } catch (SqliteException) { db.IDList.Update(idlist); db.SaveChanges(); } catch (DbUpdateException) { db.IDList.Update(idlist); db.SaveChanges(); } } }
public void ChangeDbBan( int AdminID, int UserID, int Level, long Expires, string Reason, int ChannelMessageID = 0, int ReasonMessageID = 0 ) { BanUser baninfo = new BanUser { UserID = UserID, Ban = 0, Level = Level, Reason = Reason, HistoryID = 0, ChannelMessageID = ChannelMessageID, ReasonMessageID = ReasonMessageID, Expires = Expires }; Config.bannedUsers[UserID] = baninfo; BanHistory banHistory = new BanHistory { UserID = UserID, Ban = 0, Level = Level, ChannelMessageID = ChannelMessageID, ReasonMessageID = ReasonMessageID, AdminID = AdminID, BanTime = GetTime.GetUnixTime(), Reason = Reason, Expires = Expires }; using (var db = new BlacklistDatabaseContext()) { db.BanHistorys.Add(banHistory); try { db.BanUsers.Add(baninfo); db.SaveChanges(); } catch (SqliteException) { db.BanUsers.Update(baninfo); db.SaveChanges(); } catch (DbUpdateException) { db.BanUsers.Update(baninfo); db.SaveChanges(); } } new SubscribeBanListCaller().CallGroupsInThread(baninfo); }
public IDList GetIDList(string name) { IDList config = null; config = Config.IDList.GetValueOrDefault(name, null); if (config != null) { return(config); } using (var db = new BlacklistDatabaseContext()) { IDList idList; try { idList = db.IDList .Single(idLists => idLists.Name == name); Config.IDList.TryAdd(name, idList); } catch (InvalidOperationException) { idList = new IDList { Name = name, Data = "" }; db.IDList.Add(idList); Config.IDList.TryAdd(name, idList); db.SaveChanges(); return(idList); } return(idList); } }
public void ChangeDbUnban( int AdminID, int UserID, string Reason, int ChannelMessageID = 0 ) { Config.bannedUsers.Remove(UserID); BanHistory banHistory = new BanHistory { UserID = UserID, Ban = 1, Level = 1, ChannelMessageID = ChannelMessageID, ReasonMessageID = 0, AdminID = AdminID, BanTime = GetTime.GetUnixTime(), Reason = Reason, Expires = 0 }; using (var db = new BlacklistDatabaseContext()) { db.BanHistorys.Add(banHistory); var bannedUser = db.BanUsers .Single(users => users.UserID == UserID); db.Remove(bannedUser); db.SaveChanges(); } new UnBanCaller().UnBanCallerThread(UserID); }
private void ChangeBanTemp( int AdminID, int UserID, int Level, long Expires, string Reason) { BanUser baninfo = new BanUser { UserID = UserID, Ban = 0, Level = Level, Reason = Reason, HistoryID = 0, ChannelMessageID = 0, ReasonMessageID = 0, Expires = Expires }; using (var db = new BlacklistDatabaseContext()) { try { db.BanUsers.Add(baninfo); db.SaveChanges(); } catch (SqliteException) { db.BanUsers.Update(baninfo); db.SaveChanges(); } catch (DbUpdateException) { db.BanUsers.Update(baninfo); db.SaveChanges(); } } }
public GroupCfg GetGroupConfig(long gid) { GroupCfg config = null; config = Config.groupConfig.GetValueOrDefault(gid, null); if (config != null) { return(config); } using (var db = new BlacklistDatabaseContext()) { GroupCfg groupCfg; try { groupCfg = db.GroupConfig .Single(groups => groups.GroupID == gid); Config.groupConfig.TryAdd(gid, groupCfg); } catch (InvalidOperationException) { groupCfg = new GroupCfg { GroupID = gid, AdminOnly = Config.DefaultSoamAdminOnly, BlackList = Config.DefaultSoamBlacklist, AutoKick = Config.DefaultSoamAutoKick, AntiBot = Config.DefaultSoamAntiBot, AntiHalal = Config.DefaultSoamAntiHalal, AutoDeleteSpamMessage = Config.DefaultSoamAutoDeleteSpamMessage, AutoDeleteCommand = Config.DefaultSoamAutoDeleteCommand, SubscribeBanList = Config.DefaultSoamSubscribeBanList }; db.GroupConfig.Add(groupCfg); Config.groupConfig.TryAdd(gid, groupCfg); db.SaveChanges(); return(groupCfg); } return(groupCfg); } }
public bool RemoveGroupCfg(long GroupID) { using (var db = new BlacklistDatabaseContext()) { try { var groupCfg = db.GroupConfig .Single(groups => groups.GroupID == GroupID); db.Remove(groupCfg); db.SaveChanges(); return(true); } catch (InvalidOperationException) { return(false); } catch { return(false); } } }
public GroupCfg SetGroupConfig( long gid, int AdminOnly = 3, int BlackList = 3, int AutoKick = 3, int AntiBot = 3, int AntiHalal = 3, int AutoDeleteSpamMessage = 3, int AutoDeleteCommand = 3, int SubscribeBanList = 3 ) { GroupCfg groupCfg = GetGroupConfig(gid); if (AdminOnly != 3) { groupCfg.AdminOnly = AdminOnly; } if (BlackList != 3) { groupCfg.BlackList = BlackList; } if (AutoKick != 3) { groupCfg.AutoKick = AutoKick; } if (AntiBot != 3) { groupCfg.AntiBot = AntiBot; } if (AntiHalal != 3) { groupCfg.AntiHalal = AntiHalal; } if (AutoDeleteSpamMessage != 3) { groupCfg.AutoDeleteSpamMessage = AutoDeleteSpamMessage; } if (AutoDeleteCommand != 3) { groupCfg.AutoDeleteCommand = AutoDeleteCommand; } if (SubscribeBanList != 3) { groupCfg.SubscribeBanList = SubscribeBanList; } Config.groupConfig[gid] = groupCfg; using (var db = new BlacklistDatabaseContext()) { try { db.GroupConfig.Add(groupCfg); db.SaveChanges(); } catch (DbUpdateException) { db.GroupConfig.Update(groupCfg); db.SaveChanges(); } return(groupCfg); } }