using System;
using System.Text.Json;
using static System.Net.Mime.MediaTypeNames;
internal class Program
{
public static string token { get; set; } = "token";
public static string idUser = "idUser";
public static string text = "Bro The Best";
public static int id_message = 0;
private static async Task Main(string[] args)
{
Rootobject rootobject = new Rootobject();
rootobject.keyboard = new string[2][];
rootobject.keyboard[0] = new string[1];
rootobject.keyboard[1] = new string[2];
rootobject.keyboard[0][0] = "Сохранить";
rootobject.keyboard[1][0] = "Редактировать";
rootobject.keyboard[1][1] = "Отмена";
var jsonSt = JsonSerializer.Serialize(rootobject);
HttpClient httpClient = new HttpClient();
var url = $"https://api.telegram.org/bot{token}/sendMessage?chat_id={idUser}" +
$"&text={text}&reply_markup={jsonSt}";
using (HttpResponseMessage httpResponseMessage = await httpClient.GetAsync($"{url}"))
{
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
}
while (true)
{
await Task.Delay(500);
string? jsonString;
url = $"https://api.telegram.org/bot{token}/getUpdates?offset=-1&timeout=10";
using (HttpResponseMessage httpResponseMessage = await httpClient.GetAsync($"{url}"))
{ jsonString = await httpResponseMessage.Content.ReadAsStringAsync(); }
Response? deserialized = JsonSerializer.Deserialize<Response?>(jsonString);
if (deserialized != null)
{
if (deserialized.result[0].message.message_id > id_message)
{
id_message = deserialized.result[0].message.message_id;
await Console.Out.WriteLineAsync(deserialized.result[0].message.text);
}
}
}
}
}
public class Rootobject
{
public string?[][] keyboard { get; set; }
}
public class Response
{
public bool ok { get; set; }
public Result[] result { get; set; }
}
public class Result
{
public Message message { get; set; }
public int update_id { get; set; }
}
public class Message
{
public Chat chat { get; set; }
public int date { get; set; }
public From from { get; set; }
public int message_id { get; set; }
public string text { get; set; }
}
public class Chat
{
public string first_name { get; set; }
public int id { get; set; }
public string type { get; set; }
public string username { get; set; }
}
public class From
{
public string first_name { get; set; }
public int id { get; set; }
public bool is_bot { get; set; }
public string language_code { get; set; }
public string username { get; set; }
}
Для чего нужен "timeout" в строке запроса?