Как задеплоить Телеграм бота на сервер

На моем ПК бот с вебхуками через перенаправление на локалхост ngrok (перенаправление командой ngrok http 5000) конечно работает, но не оставлять же его вечно работающим. Пробовал заливать на vps сервер google cloud, и работать через screen, запуская на одном вирутальном рабочем столе ngrok, а на другом через команду dotnet самого бота, но конечно же это не сработало, по той причине, что у них собственные локалхосты, и они не видят друг друга. Устанавливал apache2, но так и не понял как его ПРАВИЛЬНО настроить.. Также пробовал заливать через сборку и деплой прямо из Visual Studio на хостинг asp.net приложений reg.ru, но так ничего и не получилось. Что имею на данный момент — работающего бота на своем ПК через вебхуки, удаленные vps на linux (google cloud, reg.ru), оплаченный хостинг с поддержкой asp.net приложений reg.ru, и мало понимания как это все настроить. Вот файл appsettings.json:

< «Logging»: < «IncludeScopes»: false, «LogLevel»: < «Default»: «Warning» >>, «BotConfiguration»: < «BotToken»: «», «HostAddress»: «» > >
файл launchSettings.json:
«iisSettings»: < «windowsAuthentication»: false, «anonymousAuthentication»: true, «iisExpress»: < «applicationUrl»: «https://0.0.0.0.0:5001;http://0.0.0.0.0:5000», «sslPort»: 44315 >>, «profiles»: < «Telegram.Bot.Examples.WebHook»: < «commandName»: «Project», «environmentVariables»: < «ASPNETCORE_ENVIRONMENT»: «Development» >, «applicationUrl»: «https://0.0.0.0.0:5001;http://0.0.0.0.0:5000» > > >
Отслеживать

67.7k 208 208 золотых знаков 76 76 серебряных знаков 218 218 бронзовых знаков
задан 16 янв 2022 в 8:57
23 7 7 бронзовых знаков

Как сделать Telegram бота на бесплатном хостинге ? — Мастер-класс 1️⃣

Воды много, а конкретики мало. Вот при чем тут телеграмм, если это простой сайт, который надо разместить на хостинг? Где описание того, как вы пробовали размещать? Что это дало?

Еще по теме:  Как узнать статус Телеграммы

Вот смотрите, пишу в поисковике «asp.net публикация», вижу документацию, где куча способов, с подробным описанием. Говорите Apache пробовали, пожалуйста, сбоку есть пункт Linux с Apache , вы это пробовали? Ок, говорите reg.ru , так у них тоже есть инструкция, пробовали?

16 янв 2022 в 9:10

я знаю как опубликовывать сайты..Мне нужно понять что за host adress в appsettings.json указывать — адрес сайта/Хостинга/сервера. Повторюсь, я чайник в этом вопросе. Всегда только кодил, и максимум через webdeploy в visual studio публиковал сайт на хостинг.

16 янв 2022 в 12:41
16 янв 2022 в 15:24

Имея это, понимаем, что asp.net проект можно запустить разными способами, как простое консольное приложение (это Kestrel — это кроссплатформенный веб-сервер для ASP.NET Core. ), так и при помощи всяких Apache , Nginx , IIS , В виде службы Windows и др. Понимая это, идем на хостинг и смотрим что там, например reg.ru (если это хостинг для asp.net) использует IIS , а значит публиковать надо под него. Если вы говорите про Apache, то это уже другой способ публикации, который также описан в документации. Так что выберите пожалуйста то, что у вас и попробуйте опубликовать.

КАК загрузить БОТА на СЕРВЕР. Загружаем ТЕЛЕГРАМ бот на сервер. Как ЗАГРУЗИТЬ БОТА на сервер

16 янв 2022 в 15:29

Касательно вашего вопроса Мне нужно понять что за host adress в appsettings.json указывать — адрес сайта/Хостинга/сервера. — HostAddress — это созданная вами настройка, которая используется в определенном месте, она не влияет на запуск вашего asp.net приложение, его публикацию. Судя по исходникам на GitHub, используется она лишь для формирования адреса вебхука, не более. А если у вас вопрос про applicationUrl из launchSettings.json , то это относится к Kestrel серверу, зовутся конечными точками.

Еще по теме:  Парень будет ревновать Телеграмм

Источник: ru.stackoverflow.com

Телеграм-бот на NodeJS. 4. Развёртывание на Amazon web service (AWS).

У нашего бота есть один недостаток: Как только мы прервём выполнение скрипта, то бот перестанет работать. Поэтому неплохо было бы опубликовать его на каком-нибудь сервере, который поддерживает работу с Node.JS. В этой заметке будет описана работа с AWS . Я предполагаю, что Вы уже зарегистрировались на этом ресурсе, у Вас все секретные ключи. Если нет, то вот здесь описано, как его получить. У меня есть безплатный ключ скором на один год, а дальше посмотрим, как сложится.
После получения ключа установите пакет

npm install -g serverless
Enter fullscreen mode

Exit fullscreen mode

Запишите этот ключ:

serverless config credentials —provider provider —key key —secret secret
Enter fullscreen mode

Exit fullscreen mode

Следующий шаг: создание функции AWS Lambda, которая будет запускаться через Telegram HTTP webhook. Эта функция будет отвечать за вызов Telegram API отправку результата пользователю. Чтобы создать лямбда-функцию, просто создайте новую папку на компьютере, перейдите внутрь нее, откройте окно терминала и введите следующее:

serverless create —template aws-nodejs
Enter fullscreen mode

Exit fullscreen mode

Как вы, вероятно, догадались, это создаст очень простой шаблон для будущих функций Node.js . Шаблон фактически состоит из двух файлов: handler.js и serverless.yml. handler.js — точка ввода кода функции, а serverless.yml — файл конфигурации сервера, в котором можно объявить триггер сервера и другие параметры. Больше прочитать о конфигурации — ссылка .
Вот как я предлагаю настроить будущий сервер:

service: short-bot useDotenv: true plugins: — serverless-dotenv-plugin frameworkVersion: «2» provider: name: aws runtime: nodejs12.x region: eu-west-1 apiGateway: shouldStartNameWithService: true lambdaHashingVersion: «20201221» functions: hello: handler: handler.hello events: — http: path: webhook method: post cors: true
Enter fullscreen mode

Еще по теме:  В Телеграм канале нужно поставить русский язык

Exit fullscreen mode

В каталоге этого проекта сделайте команды:

npm init -y npm i —save dotenv node-fetch telegraf npm i —save-dev serverless serverless-dotenv-plugin
Enter fullscreen mode

Exit fullscreen mode

Создаем телеграм бота с помощью serverless на nodejs

Рейтинг
( Пока оценок нет )
Загрузка ...