Телеграм бот по api json отправляет данные в другое

Телеграм бот по api json отправляет данные в другое приложение
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: C#
Создано: 07.03.2025 05:39

Телеграм бот по 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, куда должны отправляться данные.

Описание кода

  1. Инициализация бота: Создаем экземпляр Telegram бота с использованием токена.
  2. Прослушивание сообщений: Подписываемся на событие получения сообщения.
  3. Обработка сообщений: Когда бот получает текстовые сообщения, он формируется в JSON объект и отправляет его через HTTP POST запрос в указанное приложение.
  4. Обработка ответов: В зависимости от ответа отправителя, бот уведомляет пользователя о статусе отправки данных.

Запуск бота

Для запуска этого кода вам потребуется .NET SDK. Скомпилируйте и выполните приложение, и ваш бот будет готов к работе!