Beispiel #1
0
        private async Task HandleCommandAsync(SocketMessage msg)
        {
            var argPos = 0;

            if (!(msg is SocketUserMessage message))
            {
                return;
            }

            await _balanceService.MessageCoin(message.Author.Id);

            var guildChannel = (SocketGuildChannel)message.Channel;

            var r = await _databaseService.LoadRecordsByGuildId(guildChannel.Guild.Id);

            if (message.HasStringPrefix(r.Prefix, ref argPos))
            {
                var context = new ShardedCommandContext(_client, message);

                var result = await _commandService.ExecuteAsync(context, argPos, _services);

                if (!result.IsSuccess && result.Error != CommandError.UnknownCommand)
                {
                    await context.Channel.SendMessageAsync(result.ErrorReason);
                }
            }
        }