Ejemplo n.º 1
0
        public async Task EightBall(CommandContext ctx, [Description("Twoje pytanie")][RemainingText] string question)
        {
            await ctx.TriggerTypingAsync();

            SimpleResponseResponse <SimpleResponseElement> answer = _simpleResponseService.GetAnswer("8Ball");

            if (answer.Result == SimpleResponseResult.CommandHasNoResponses)
            {
                await PostEmbedHelper.PostEmbed(ctx, "8Ball", "Brak odpowiedzi w bazie. Najpierw coś dodaj");

                return;
            }

            switch (answer.Responses.Type)
            {
            case Database.Models.StaticDB.SimpleResponseType.Text:
                await PostEmbedHelper.PostEmbed(ctx, "8Ball", "8Ball mówi: " + answer.Responses.Content);

                break;

            // Currently there's no way to append video link to embed
            case Database.Models.StaticDB.SimpleResponseType.ImageLink:
            case Database.Models.StaticDB.SimpleResponseType.YoutubeLink:
            case Database.Models.StaticDB.SimpleResponseType.Other:
                break;
            }
        }
Ejemplo n.º 2
0
        public async Task EightBallList(CommandContext ctx)
        {
            await ctx.TriggerTypingAsync();

            SimpleResponseResponse <List <SimpleResponseElement> > answers = _simpleResponseService.GetAnswers("8Ball");

            if (answers.Result == SimpleResponseResult.CommandHasNoResponses)
            {
                await PostEmbedHelper.PostEmbed(ctx, "8Ball", "Brak odpowiedzi w bazie. Najpierw coś dodaj");

                return;
            }

            StringBuilder builder = new StringBuilder();

            foreach (var answer in answers.Responses)
            {
                switch (answer.Type)
                {
                case Database.Models.StaticDB.SimpleResponseType.Text:
                    builder.AppendLine(answer.Content);
                    break;

                // Currently there's no way to append video link to embed
                case Database.Models.StaticDB.SimpleResponseType.ImageLink:
                case Database.Models.StaticDB.SimpleResponseType.YoutubeLink:
                case Database.Models.StaticDB.SimpleResponseType.Other:
                    break;
                }
            }
            await PostLongMessageHelper.PostLongMessage(ctx, answers.Responses.Select(p => p.Content).ToList(), "\n", "8Ball");
        }
Ejemplo n.º 3
0
        public async Task MontyPython(CommandContext ctx, [Description("Użytkownik do wzmienienia.")] DiscordMember member = null)
        {
            await ctx.TriggerTypingAsync();

            SimpleResponseResponse <SimpleResponseElement> answer = _simpleResponseService.GetAnswer("MontyPython");

            if (answer.Result == SimpleResponseResult.CommandHasNoResponses)
            {
                await PostEmbedHelper.PostEmbed(ctx, "MontyPython", "Brak odpowiedzi w bazie. Najpierw coś dodaj");

                return;
            }

            switch (answer.Responses.Type)
            {
            case Database.Models.StaticDB.SimpleResponseType.Text:
                if (member == null)
                {
                    await PostEmbedHelper.PostEmbed(ctx, "MontyPython", answer.Responses.Content);
                }
                else
                {
                    await PostEmbedHelper.PostEmbed(ctx, "MontyPython", answer.Responses.Content + " " + member.Mention);
                }
                break;

            case Database.Models.StaticDB.SimpleResponseType.ImageLink:
                if (member == null)
                {
                    await PostEmbedHelper.PostEmbed(ctx, "MontyPython", null, answer.Responses.Content);
                }
                else
                {
                    await PostEmbedHelper.PostEmbed(ctx, "MontyPython", member.Mention, answer.Responses.Content);
                }
                break;

            // Currently there's no way to append video link to embed
            case Database.Models.StaticDB.SimpleResponseType.YoutubeLink:
            case Database.Models.StaticDB.SimpleResponseType.Other:
                if (member == null)
                {
                    await ctx.RespondAsync(answer.Responses.Content);
                }
                else
                {
                    await ctx.RespondAsync(answer.Responses.Content + " " + member.Mention);
                }
                break;
            }
        }