C# WebApp для TelegramBotClient не отвечает или возвращает ошибку 500 - PullRequest
0 голосов
/ 21 января 2020
using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Web.Http;
using Microsoft.Owin.Hosting;
using MihaZupan;
using Owin;
using Telegram.Bot;
using Telegram.Bot.Types;

namespace ConsoleApp1 {
    public static class Bot {
        public static readonly TelegramBotClient botClient = new TelegramBotClient("{my_token}", new HttpToSocks5Proxy("64.118.86.14", 49775));
    }

    public static class Program {
    public static void Main() {

        using (WebApp.Start<Startup>("https://localhost:44392/")) {
            Bot.botClient.SetWebhookAsync("https://96754473.ngrok.io:8443/WebHook").Wait();
            Bot.botClient.SendTextMessageAsync({my_chat_id}, "Prosto kabzdec!").Wait();

            Console.WriteLine("Server Started");

            Console.ReadLine();

            //Bot.botClient.DeleteWebhookAsync().Wait();
        }
    }
    }

    public class Startup {
    public void Configuration(IAppBuilder app) {
        var config = new HttpConfiguration();

        config.Routes.MapHttpRoute("WebHook", "{controller}");

        app.UseWebApi(config);
    }
    }

    [Route("api/[controller]")]
    public class WebHookController : ApiController {

    [HttpPost]
    public async Task<IHttpActionResult> Post([FromBody]Update update) {
        var message = update.Message;

        Console.WriteLine("Received Message from {0}", message.Chat.Id);

        await Bot.botClient.SendTextMessageAsync(chatId: message.Chat.Id, text: "Loshara");

        return Ok();
    }
    }

}

Я новичок в ботах. Я скачал все библиотеки, установил ngrok tunnel (поэтому телеграмма спрашивает этот сайт, когда спрашивает моего бота: https://96754473.ngrok.io). Однако в некоторых случаях он возвращает ошибку 500 (System.AggregateException), а в других случаях он работает, даже отправляет мне сообщение (SendTextMessageAsyn c), но не отвечает на мои сообщения. Кто-нибудь может мне помочь?

Upd1: также я не могу получить доступ к localhost ("https://localhost: 44392 "). Upd2: я использую прокси, потому что команды телеграммы не работают без него.

...