public static bool HasEmbedPerms(ICommandContext Context, _Guild Guild = null, bool Error = false) { if (Context.Guild == null) { return(true); } _Bot.GuildCache.TryGetValue(Context.Guild.Id, out _CacheItem CI); if (CI.Bot == null) { CI.Bot = Context.Guild.GetCurrentUserAsync().GetAwaiter().GetResult(); } if (CI.Bot.GuildPermissions.EmbedLinks || CI.Bot.GetPermissions(Context.Channel as IGuildChannel).EmbedLinks) { return(true); } if (Error) { string ErrorText = _Config._TransMain.Error_NoEmbedPerms.EN; if (Guild != null) { ErrorText = _Config._TransMain.Error_NoEmbedPerms.Get(Guild); } _Log.ThrowError(Context, "```python" + Environment.NewLine + $"{ErrorText}```", "No Embed Links Pemr"); } return(false); }
public static void NewGuild(ulong ID, out _Guild Guild) { Guild = new _Guild() { ID = ID, Servers = new List <_Server>(), Language = _Language.English }; _Config.MCGuilds.Add(ID, Guild); Guild.Save(); }
public static void LoadGuilds() { foreach (var i in Directory.GetFiles(_Config.BotPath + "Guilds/")) { using (StreamReader reader = new StreamReader(i)) { JsonSerializer serializer = new JsonSerializer(); _Guild Item = (_Guild)serializer.Deserialize(reader, typeof(_Guild)); _Config.MCGuilds.Add(Item.ID, Item); } } }
/// <summary> /// Set ID to 0 for no guild /// </summary> public static void GetGuild(IGuild ID, out _Guild Guild) { Guild = null; if (ID != null) { _Config.MCGuilds.TryGetValue(ID.Id, out Guild); if (Guild == null) { NewGuild(ID.Id, out Guild); } if (Guild == null) { _Log.Error($"NO GUILD DATA {ID.Name} | {ID.Id}"); } } }