Exemplo n.º 1
0
        public async Task OnMessageDeleteEvent(MessageDeleteEvent e, IDiscordClient client)
        {
            if (!e.GuildId.HasValue)
            {
                return;
            }

            var channelId = await _consoleService.GetChannelId(e.GuildId.Value);

            if (e.ChannelId != channelId)
            {
                return;
            }

            var warning = await _warningRepository.GetWarningByMessageId(e.GuildId.Value, e.MessageId);

            if (warning == null)
            {
                return;
            }

            warning.ConsoleMessageId = null;
            warning.ConsoleChannelId = null;
            await _warningRepository.UpdateAsync(warning);

            var user = await client.GetUserAsync(warning.UserId);

            var moderator = await client.GetUserAsync(warning.ModeratorId);

            await _consoleService.UpdateWarningMessageAsync(e.GuildId.Value, e.ChannelId, warning, user, moderator);
        }
Exemplo n.º 2
0
 private void DeleteMessage(MessageDeleteEvent mde)
 {
     Wrapper.RunCommand(
         @"UPDATE `sqc_messages` SET `msg_deleted` = " + Wrapper.FromUnixTime(@"@deleted") + @" WHERE `msg_id` = @id",
         Wrapper.CreateParam(@"deleted", mde.DateTime.ToUnixTimeSeconds()),
         Wrapper.CreateParam(@"id", mde.MessageId)
         );
 }
Exemplo n.º 3
0
 public void Enrich(Scope scope, int shardId, MessageDeleteEvent evt)
 {
     scope.AddBreadcrumb("", "event.messageDelete",
                         data: new Dictionary <string, string>
     {
         { "channel", evt.ChannelId.ToString() },
         { "guild", evt.GuildId.ToString() },
         { "message", evt.Id.ToString() }
     });
     scope.SetTag("shard", shardId.ToString());
 }
Exemplo n.º 4
0
        public void Delete(IUser user, IMessage message)
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            MessageDeleteEvent mde = new MessageDeleteEvent(user, message);

            if (message is IEventHandler meh)
            {
                meh.HandleEvent(this, mde);
            }
            Dispatcher.DispatchEvent(this, mde);
        }
Exemplo n.º 5
0
 private void DeleteMessage(MessageDeleteEvent mde)
 {
     lock (Sync)
         Messages.RemoveAll(m => m.MessageId == mde.MessageId);
 }
Exemplo n.º 6
0
 public MessageDeletePacket(MessageDeleteEvent mde)
 {
     MessageId = (mde ?? throw new ArgumentNullException(nameof(mde))).MessageId;
 }