codeFlowType:
codeWrite
codeFlowLang:
C#
Телеграм бот по api json отправляет данные в другое приложение
Конечно! Приведем пример простого Telegram бота на C#, который будет принимать сообщения и отправлять их в другое приложение через JSON API. Мы будем использовать библиотеку Telegram.Bot
для работы с Telegram API и HttpClient
для отправки данных.
Для начала, вам необходимо установить библиотеку Telegram.Bot
. Вы можете сделать это с помощью NuGet Package Manager:
Install-Package Telegram.Bot
Вот пример кода для вашего Telegram бота:
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram.Bot.Args;
namespace TelegramBotExample
{
class Program
{
private static readonly string BotToken = "YOUR_TELEGRAM_BOT_TOKEN";
private static readonly string ApiUrl = "https://example.com/api/data"; // URL вашего API
private static readonly TelegramBotClient Bot = new TelegramBotClient(BotToken);
static async Task Main(string[] args)
{
Bot.OnMessage += BotOnMessageReceived;
Bot.StartReceiving();
Console.WriteLine("Bot started. Press Enter to exit.");
Console.ReadLine();
Bot.StopReceiving();
}
private static async void BotOnMessageReceived(object sender, MessageEventArgs e)
{
if (e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Text)
{
Console.WriteLine($"Received message: {e.Message.Text}");
// Создаем объект для отправки
var data = new
{
chatId = e.Message.Chat.Id,
text = e.Message.Text
};
// Отправляем данные в другое приложение
string json = JsonSerializer.Serialize(data);
var httpContent = new StringContent(json, Encoding.UTF8, "application/json");
using (var client = new HttpClient())
{
try
{
var response = await client.PostAsync(ApiUrl, httpContent);
response.EnsureSuccessStatusCode();
var responseData = await response.Content.ReadAsStringAsync();
// Ответ пользователю (по желанию)
await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Данные отправлены успешно!");
}
catch (Exception ex)
{
Console.WriteLine($"Error sending data: {ex.Message}");
await Bot.SendTextMessageAsync(e.Message.Chat.Id, "Ошибка при отправке данных.");
}
}
}
}
}
}
YOUR_TELEGRAM_BOT_TOKEN
на токен вашего Telegram бота.https://example.com/api/data
на URL вашего API, куда должны отправляться данные.Для запуска этого кода вам потребуется .NET SDK. Скомпилируйте и выполните приложение, и ваш бот будет готов к работе!