コード例 #1
0
        public async Task HandleCommandAsync(SocketMessage pMsg)
        {
            var message = pMsg as SocketUserMessage;

            if (message == null)
            {
                return;
            }

            Statistics.AddIncomingMessages();
            var context = new SocketCommandContext(bot, message);

            int argPos = 0;

            if (message.HasStringPrefix(BotConfig.Load().Prefix, ref argPos))
            {
                Statistics.AddCommandRequests();
                await StatusChange.CycleGameAsync();

                if (message.Author.IsBot)
                {
                    return;
                }
                var result = await commands.ExecuteAsync(context, argPos, map);

                if (!result.IsSuccess && result.ErrorReason != "Unknown command.")
                {
                    await errors.sendErrorTempAsync(pMsg.Channel, result.ErrorReason, Colours.errorCol);
                }
            }
        }