Я создаю Telegram Bot, используя asp .net Core Web API. У меня странное исключение
HttpRequestException: Response status code does not indicate success: 404 (Not Found)."
в методе Configure в Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
Bot.GetBotClientAsync().Wait(); // exception here
// AggregateException: One or more errors occurred. (Response status code does not indicate success: 404 (Not Found).)
}
Вот мой метод GetBotClientAsync () в Bot.cs
public static async Task<TelegramBotClient> GetBotClientAsync()
{
if (botClient != null)
{
return botClient;
}
commandsList = new List<Command>();
commandsList.Add(new StartCommand());
botClient = new TelegramBotClient(AppSettings.Key);
string hook = string.Format(AppSettings.Url, "api/message/update");
await botClient.SetWebhookAsync(hook); // also exception here
//HttpRequestException: Response status code does not indicate success: 404 (Not Found).
return botClient;
}
Как я поступил неправильно? Как я могу это исправить?
Какое значение имеет AppSettings.Url?
@phuzi "https://URL:443/{0}"
Имя хоста действительно URL?
@phuzi, как я могу проверить, действительно ли имя хоста является URL-адресом?
в "https://URL:443/{0}" "URL" - это имя хоста, на котором доступна ваша служба / приложение. Вероятно, эта конечная точка должна быть действительной.
Также возможно, что вы не можете подключиться к API на "https://api.telegram.org/bot/". Вы находитесь за брандмауэром / прокси-сервером.
@phuzi это была ошибка с токеном телеграммы, кстати, спасибо за помощь





404 (Not Found) обычно означает, что вы ошиблись с URL. Убедитесь, что
hookимеет правильный URL