С# код построение клавиатуры телеграмм

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43
Всем привет!
Подаскажите как из C# построить клавиатуру для телеграмм
Входные данные mm_yyyy (переменная) в формате 02.2022 нужно сформировать клавиатуру как здесь

Вот что сгенерировал GPT-3 (есть всего лишь 1 ошибка)

C#:
using System;
using System.Collections.Generic;
using Newtonsoft.Json;

namespace KeyboardGeneration
{
    public class InlineKeyboardButton
    {
        public string text { get; set; }
        public string callback_data { get; set; }
    }

    public class Keyboard
    {
        public List<List<InlineKeyboardButton>> inline_keyboard { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var dateString = "02.2023";
            var date = DateTime.ParseExact(dateString, "MM.yyyy", System.Globalization.CultureInfo.InvariantCulture);

            var daysOfWeek = new string[] { "П", "В", "С", "Ч", "П", "С", "В" };

            var keyboard = new Keyboard();
            keyboard.inline_keyboard = new List<List<InlineKeyboardButton>>();

            var firstRow = new List<InlineKeyboardButton>
            {
                new InlineKeyboardButton { text = dateString, callback_data = "def" }
            };
            keyboard.inline_keyboard.Add(firstRow);

            var secondRow = new List<InlineKeyboardButton>();
            for (int i = 0; i < daysOfWeek.Length; i++)
            {
                secondRow.Add(new InlineKeyboardButton
                {
                    text = daysOfWeek[i],
                    callback_data = "def"
                });
            }
            keyboard.inline_keyboard.Add(secondRow);

            var startOfMonth = new DateTime(date.Year, date.Month, 1);
            var firstDayOfWeek = (int)startOfMonth.DayOfWeek;
            var daysInMonth = DateTime.DaysInMonth(date.Year, date.Month);

            for (int i = 0; i < daysInMonth; i++)
            {
                var day = new DateTime(date.Year, date.Month, i + 1);
                var row = new List<InlineKeyboardButton>();
                for (int j = 0; j < 7; j++)
                {
                    var button = new InlineKeyboardButton();
                    if (i == 0 && j < firstDayOfWeek || i + j >= daysInMonth)
                    {
                        button.text = "";
                        button.callback_data = "def";
                    }
                    else
                    {
                        button.text = day.ToString("dd.MM.yyyy");
                        button.callback_data = day.ToString("dd.MM.yyyy");
                        day = day.AddDays(1);
                    }
                    row.Add(button);
                }
                keyboard.inline_keyboard.Add(row);
            }

            var keyboardJson = JsonConvert.SerializeObject(keyboard);
            Console.WriteLine(keyboardJson);
            project.Variables["InlineKeyboardButton"].Value = keyboardJson;
        }
    }
}
Как я все распрекделил:
103088

103089

103090


На выходе в переменную должно попасть (но логически, то есть не всегда 1 число попадает на понедельник в место этого "text": "", "callback_data": "def"
:
JSON:
{
  "inline_keyboard": [
    [
      {
        "text": "{-Variable.mm_yyyyy-}",
        "callback_data": "def"
      }
    ],
    [
      {
        "text": "П",
        "callback_data": "def"
      },
      {
        "text": "В",
        "callback_data": "def"
      },
      {
        "text": "С",
        "callback_data": "def"
      },
      {
        "text": "Ч",
        "callback_data": "def"
      },
      {
        "text": "П",
        "callback_data": "def"
      },
      {
        "text": "С",
        "callback_data": "def"
      },
      {
        "text": "В",
        "callback_data": "def"
      }
    ],
    [
      {
        "text": "01.02.2023",
        "callback_data": "01.02.2023"
      },
      {
        "text": "02.02.2023",
        "callback_data": "02.02.2023"
      },
      {
        "text": "03.02.2023",
        "callback_data": "03.02.2023"
      },
      {
        "text": "04.02.2023",
        "callback_data": "04.02.2023"
      },
      {
        "text": "05.02.2023",
        "callback_data": "05.02.2023"
      },
      {
        "text": "06.02.2023",
        "callback_data": "06.02.2023"
      },
      {
        "text": "05.02.2023",
        "callback_data": "05.02.2023"
      }
    ],
    [
      {
        "text": "<",
        "callback_data": "01.2023"
      },
      {
        "text": "",
        "callback_data": "def"
      },
      {
        "text": ">",
        "callback_data": "03.2023"
      }
    ]
  ]
}
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 103
Благодарностей
132
Баллы
63
Как работаешь с GPT-3 ?
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 103
Благодарностей
132
Баллы
63

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 225
Благодарностей
784
Баллы
113
Ребят, вы реально думайте что, с появлением OpenAI, вы станете тру кодерами без знаний основ ЯП? Будете генерировать Х, вставлять не вставляемое и на форумах это вам все должны причесывать? Что бы получить от ИИ нормальный код - нужны знания выше джуновских. А что бы его вставить в нужное место и запустить - нужны хотя бы базовые познания.
 

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 694
Благодарностей
940
Баллы
113
Ребят, вы реально думайте что, с появлением OpenAI, вы станете тру кодерами без знаний основ ЯП? Будете генерировать Х, вставлять не вставляемое и на форумах это вам все должны причесывать? Что бы получить от ИИ нормальный код - нужны знания выше джуновских. А что бы его вставить в нужное место и запустить - нужны хотя бы базовые познания.
примерно также раньше говорили про всякие CMS и различные фреймворки.
 
  • Спасибо
Реакции: sydoow

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43
Ребят, вы реально думайте что, с появлением OpenAI, вы станете тру кодерами без знаний основ ЯП? Будете генерировать Х, вставлять не вставляемое и на форумах это вам все должны причесывать? Что бы получить от ИИ нормальный код - нужны знания выше джуновских. А что бы его вставить в нужное место и запустить - нужны хотя бы базовые познания.
Осуждение.
Все слишком преувеличено
1) Я уже генерировал С# код в проект 3-4 раза сейчас это работает идеально.
2) Я пишу на форум так как есть базовый код - как показала практика можно добиться от GPT-3 полностью готовый код (без посторонних кодеров) но на это уходит время (очень много времени).
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)