Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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])
Exemplo n.º 3
0
        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);
        }