private async Task HandleCommandAsync(SocketMessage arg) { if (arg.Author == _client.CurrentUser) { return; } await MessageLogger.LogMessage(arg); if (!(arg is SocketUserMessage msg)) { return; } if (msg.Author.Id == _client.CurrentUser.Id || msg.Author.IsBot) { return; } int pos = 0; //check for prefix if (msg.HasCharPrefix(_config.Prefix, ref pos)) { var context = new SocketCommandContext(_client, msg); var result = await _commands.ExecuteAsync(context, pos, _services); if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) { await msg.Channel.SendMessageAsync(result.ErrorReason); } } }
private async Task _client_MessageUpdated(Cacheable <IMessage, ulong> origMsg, SocketMessage message, ISocketMessageChannel channel) { ulong guildID = ((SocketTextChannel)channel).Guild.Id; LoggedMessage logMsg = await MessageLogger.GetLog(origMsg.Id, guildID); var origField = new EmbedFieldBuilder() .WithName("Original Text of " + logMsg.MessageID.ToString()) .WithValue(logMsg.MessageContent[^ 1])
public async Task AccessAsync(ulong iD) { LoggedMessage message = await MessageLogger.GetLog(iD, Context.Guild.Id); var titleField = new EmbedFieldBuilder() .WithName("Message " + message.MessageID); var embed = new EmbedBuilder() .AddField(titleField) .WithAuthor(Context.Guild.GetUser(message.AuthorID)) .WithColor(Color.Blue) .WithFooter(footer => footer.Text = "ArbitiesLog") .WithTimestamp(message.Timestamp); foreach (string s in message.MessageContent) { var messageField = new EmbedFieldBuilder() .WithValue(s); embed.AddField(messageField); } var em = embed.Build(); await ReplyAsync(embed : em); }