/// <summary> /// Delete all messsage emotes for this message /// Delete all reactions emotes on this message that belong to message owner /// (Do not remove reactions emotes on this message that belong to other users) /// </summary> /// <param name="todoMessage"></param> /// <returns></returns> public async Task <bool> RemoveEmoteMessage(MessageIdPayload todoMessage) { try { var messageId = todoMessage.MessageId; var guild = todoMessage.Guild; _logger.LogDebug($"Remove emote message: {messageId}"); var guildId = guild.Id; await _kattbotRepo.RemoveEmotesForMessage(messageId); return(true); } catch (Exception ex) { _logger.LogError(ex, "RemoveEmoteMessage"); return(false); } }
private async Task OnMessageDeleted(DiscordClient client, MessageDeleteEventArgs eventArgs) { try { var channel = eventArgs.Channel; var message = eventArgs.Message; var guild = eventArgs.Guild; if (IsPrivateMessageChannel(channel)) { return; } var messageId = message.Id; var todoMessage = new MessageIdPayload(messageId, guild); var command = new DeleteMessageCommand(todoMessage); _emoteCommandQueue.Enqueue(command); } catch (Exception ex) { _logger.LogError(ex, nameof(OnMessageDeleted)); var eventContextError = new EventErrorContext() { EventName = nameof(OnMessageDeleted), User = null, Channel = eventArgs.Channel, Guild = eventArgs.Guild }; await _discordErrorLogger.LogDiscordError(eventContextError, ex.ToString()); } }
public async Task <bool> DeleteMessage(MessageIdPayload todoMessage) { return(await _emoteMessageService.RemoveEmoteMessage(todoMessage)); }
public DeleteMessageCommand(MessageIdPayload todoMessageId) { _todoMessageId = todoMessageId; }