예제 #1
0
        async Task OnDMReaction(DisboardGameUsingDM game, DisboardPlayer player, DiscordEmoji emoji)
        {
            Action task;

            if (game.IsDebug)
            {
                task = () => game.Channel.Send("`인원을 시뮬레이션 할 때에는 리액션이 지원되지 않습니다.`");
            }
            else
            {
                task = () => game.OnDMReaction(player, emoji);
            }
            await RunInLockAndProcessMessage(game, task);
        }
예제 #2
0
        async Task OnDM(DisboardGameUsingDM game, DisboardPlayer player, string content)
        {
            var split = content.Split();

            if (game.IsDebug)
            {
                if (split.Length > 0 && int.TryParse(split[0], out int playerIndex) && 0 <= playerIndex && playerIndex < game.InitialPlayers.Count)
                {
                    player  = game.InitialPlayers[playerIndex];
                    content = string.Join(' ', split.Skip(1));
                }
                else
                {
                    return;
                }
            }
            await RunInLockAndProcessMessage(game, () => game.OnDM(player, content));
        }