Задать вопрос
@ArsenBor66

Для написания полноценного телеграм бота на c# надо юзать ASP.NET?

На сколько я знаю, написать бота для телеграма можно и в обычном console application, но для задач такого плана используют asp.net. Оправданно ли?
  • Вопрос задан
  • 2565 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
tomnolane
@tomnolane
профессиональный разработчик
бота можно написать хоть на чём угодно, зависит от "хотелок" и возможностей.
ASP.NET лишь одно из средств (но не самое нужное для этого).
ASP используют для серьезных web приложений, для каких-то широких целей. Создавать бота только используя ASP не рационально. Для этих целей подойдет и что-нибудь попроще - php, node.js...

но если предполагается использовать под сервис, где к боту будут обращаться 1кк раз в сутки, то да.. можно и на ASP
также можно для знакомства с ASP (и c#) (частью функционала) можно попробовать... Опять же зависит от потребностей и возможностей

п.с. если хостинг в РФ (российский IP) помоем телеграмм не будет работать из-за роскомнадзора... понадобится прокси/VPN/зарубежный VPS
Ответ написан
Комментировать
lam0x86
@lam0x86
Для получения сообщений с серверов Телеграма, их API поддерживает два типа соединения:
1) long polling - когда бот подключается к telegram-серверам, отправляет http-запрос и ждёт данных. Когда данные пришли, он кидает новый запрос и снова ждёт.
2) webhooks - когда серверы Телеграма сами дёргают URL, который ты зарегистрируешь.

Решение (1) удобно для тестирования, но менее производительно и плохо масштабируется на несколько серверов, поэтому чаще используют (2).
Но (2) требует HTTPS и наличие веб-сервера, который будет обрабатывать входящие запросы от серверов Телеграма. Писать консольное приложение со встроенным веб-сервером, конечно, можно, но тогда мы теряем все преимущества ASP.NET-а.
Например, IIS умеет автоматически перезапускать веб-сайт при его случайном падении или при перезагрузке сервера. Для консольного приложения придётся писать свой watch dog.
Ещё в IIS можно настроить балансировку нагрузки так, чтобы запросы от телеграма обрабатывались разными серверами. Для консоли надо опять же писать свой балансировщик, который тоже может упасть в самый неподходящий момент.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Neuyazvimy1
Для телеграм бота нужен хороший http client, так как приемом и передачей сообщений занимается telegram. А мы только используем его api.
Вот хороший http client для c#
https://github.com/restsharp/RestSharp
https://core.telegram.org/bots/api
Ответ написан
Комментировать
https://github.com/TelegramBots/Telegram.Bot
Даже ничего писать не буду, берете и пользуетесь. Без всяких asp
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы