Телеграм бот не отвечает
Бот не выводит сообщения в консоль и в телеграм.
using Telegram.Bot;
namespace TelegramBot
{
class Program
{
static TelegramBotClient Bot;
static void Main(string[] args)
{
Bot = new TelegramBotClient("1208258758:AAF5yyhwf4Yd1g6G7_h93q_94efn8T_ATWw");
Bot.OnMessage += Bot_OnMessage;
Bot.StartReceiving();
Console.ReadLine();
Bot.StopReceiving();
}
private static void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
{
var massege = e.Message;
Console.WriteLine(massege.Text);
}
}
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Я не знаю спецификации этого бота, но предположу, что событие не срабатывает, потому что текущий поток приложения занят ожиданием ввода в консоли. То есть, пока работает Console.ReadLine(), больше ничего одновременно происходить не может. Попробуйте переделать на асинхронное ожидание.
Кстати, ReadLine() ждет нажатия Enter, можно сделать, чтобы завершалось при нажатии на любую клавишу, заменив его на ReadKey().
Переделайте Main на async.
static async Task Main(string[] args)
{
Bot = new TelegramBotClient("1208258758:AAF5yyhwf4Yd1g6G7_h93q_94efn8T_ATWw");
Bot.OnMessage += Bot_OnMessage;
Bot.StartReceiving();
await Task.Run(() =>
{
Console.ReadKey();
});
Bot.StopReceiving();
}