public async Task AddEmoteToDatabase(Emote em, string nick, ulong userId) { var emotes = _db.GetAll <EeveeEmote>(Defined.EEVEE_EMOTES_TABLE_NAME); if (_db.Exists <EeveeEmote>(Defined.EEVEE_EMOTES_TABLE_NAME, (x => x.Name.ToLower() == em.Name.ToLower() && x.AdderId == userId))) { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E405, em.ToString(), "Emote", "the Emote Database"); await Task.CompletedTask; } else { bool isDef = !_db.Exists <EeveeEmote>(Defined.EEVEE_EMOTES_TABLE_NAME, (x => x.Name.ToLower() == em.Name.ToLower())); var result = await AddEmoteToEmoteGuilds(em); EeveeEmote nEmote = new EeveeEmote(result.emote, result.guildId, userId, isDef); _db.AddEntity(Defined.EEVEE_EMOTES_TABLE_NAME, nEmote); _eBuilder.WithTitle(nEmote.Name) .WithImageUrl(nEmote.Url) .WithUrl(nEmote.Url); if (nick != null) { AddAliasEmote(nick, nEmote, nEmote.Name, false); } } }
public async Task RenameEmoteCommand(string name, [Remainder] string nick) { nick = nick.Replace(":", string.Empty).ToLower(); name = name.Replace(":", string.Empty).ToLower(); EeveeEmote emote = _db.TryEmoteAssociation(Context.User.Id, name); AddAliasEmote(nick, emote, name); await ReplyAsync(string.Empty, embed : _eBuilder.Build()); }
public async Task SendEmoteCommand([Remainder] string name) { name = name.Replace(":", string.Empty).ToLower(); EeveeEmote emote = _db.TryEmoteAssociation(Context.User.Id, name); if (emote != null) { await ReplyAsync(emote.ToString()); } else { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E404, name, "Emote", "the Emote Database"); await ReplyAsync(string.Empty, embed : _eBuilder.Build()); } }
public async Task SendEmoteInfo([Remainder] string name) { name = name.Replace(":", string.Empty).ToLower(); EeveeEmote emote = _db.TryEmoteAssociation(Context.User.Id, name); if (emote != null) { var aliases = emote.Aliases.Where(x => x.OwnerId == Context.User.Id); _eBuilder.WithTitle($"{emote.Name} info:") .WithDescription($"Emote information for the user {Context.User.Mention}.") .AddField(x => { x.Name = "__Emote ID__"; x.Value = emote.Id; x.IsInline = true; }) .AddField(x => { x.Name = "__Owner ID__"; x.Value = emote.AdderId; x.IsInline = true; }) .AddField(x => { x.Name = "__Is Default?__"; x.Value = emote.IsDefault; x.IsInline = true; }) .AddField(x => { x.Name = "__Available Aliases__"; x.Value = aliases.Count() > 0 ? string.Join("\n", aliases.Select(y => y.Alias)) : "None."; x.IsInline = true; }) .WithUrl(emote.Url) .WithThumbnailUrl(emote.Url); } else { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E404, name, "Emote", "the Emote Database"); } await ReplyAsync(string.Empty, embed : _eBuilder.Build()); }
public async Task DeleteEmoteNicknameCommand([Remainder] string nick) { nick = nick.Replace(":", string.Empty).ToLower(); EeveeEmote emote = _db.TryEmoteAssociation(Context.User.Id, nick); if (emote != null) { emote.Aliases.RemoveAll(x => x.Alias.ToLower() == nick); _db.UpdateEntity(Defined.EEVEE_EMOTES_TABLE_NAME, emote); Defined.BuildSuccessMessage(_eBuilder, Context, $"Deleted the Nickname **{nick}** from the Emote {emote}."); } else { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E404, nick, "Alias", "the Emote Database"); } await ReplyAsync(string.Empty, embed : _eBuilder.Build()); }
public void AddAliasEmote(string nick, EeveeEmote emote, string name, bool overrideinfo = true) { if (nick.Length < Defined.NICKNAME_LENGTH_MIN) { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E406, Defined.NICKNAME_LENGTH_MIN, "Nickname (Alias)"); } else if (!_db.Exists <EeveeEmote>(Defined.EEVEE_EMOTES_TABLE_NAME, (x => x.Name.ToLower() == nick || x.Aliases.Where(y => y.OwnerId == Context.User.Id).Count(y => y.Alias == nick) > 0))) { if (emote != null) { if (emote.Aliases.Count(x => x.OwnerId == Context.User.Id) > Defined.NICKNAME_COUNT_MAX) { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E408, null, $"You have exceeded the Aliases capacity limit for this Emote!" + $"\nIf you'd really like to add this one, please use {_config.Prefixes[0] }emotes delnick <nick> on " + $"one of the following:\n{string.Join("\n", emote.Aliases.Where(x => x.OwnerId == Context.User.Id).Select(x => x.Alias))}"); } else { emote.Aliases.Add(new EeveeEmoteAlias() { AssociatedEmoteId = emote.Id, Alias = nick, OwnerId = Context.User.Id }); _db.UpdateEntity(Defined.EEVEE_EMOTES_TABLE_NAME, emote); Defined.BuildSuccessMessage(_eBuilder, Context, $"Added the Alias **{nick}** to the Emote {emote}.", overrideinfo); } } else { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E404, name, "Emote", "the Emote Database", overrideinfo); } } else { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E405, name, "Alias or Emote", "the Emote Database", overrideinfo); } }