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: я использую прокси, потому что команды телеграммы не работают без него.