1

Написал простенького бота для Telegram на C# (консольное приложение), используя библиотеку Telegram.Bot:

class Program
{
    private static readonly TelegramBotClient Bot = new TelegramBotClient("my_token");

    static void Main(string[] args)
    {
        Bot.OnMessage += Bot_OnMessage;
        Bot.OnMessageEdited += Bot_OnMessage;

        Bot.StartReceiving();
        Console.ReadLine();
        Bot.StopReceiving();
    }

    private static void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
    {
        if (e.Message.Type == Telegram.Bot.Types.Enums.MessageType.TextMessage)
        {
            if (e.Message.Text == "How are you?")
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Fine, thank you) And you?");
            else if (e.Message.Text == "Good morning)")
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Good morning, " + e.Message.Chat.Username);
            }
            else
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, @"Usage:                            
                       How are you?                            
                       Good morning!
                        ");
            }
        }
    }
}

На моём компьютере, подключенном к интернету, всё работает, но как выложить программу на сервер как сервис для доступа всем пользователям в любое время? Можно ли это сделать бесплатно и если да, то какой алгоритм действий?

andreycha
  • 25,167
  • 4
  • 46
  • 82
A.Hall
  • 873
  • А вы хотите выложить туда исходный код или как сервис, чтобы он был запущен на гитхабе? – gil9red Feb 13 '18 at 06:15
  • Да, именно как сервис, чтоб он был запущен на GitHub – A.Hall Feb 13 '18 at 06:18
  • У гитхаба есть Github Pages, но там статичные сайты (html+css+js), не думаю, что получится там c# и прочее установить – gil9red Feb 13 '18 at 06:45
  • Может, вы знаете другое бесплатное решение? – A.Hall Feb 13 '18 at 06:48
  • Нашел вопрос: https://ru.stackoverflow.com/questions/552095/%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-c-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3 – gil9red Feb 13 '18 at 06:49
  • Как я понял, в ответе описывается способ запуска программы через windows машину и предлагаются сервисы, для реализации данной задачи, но всё равно не понятно, как конкретно загрузить и запустить программу на сервере, чтобы она работала на постоянной основе? – A.Hall Feb 13 '18 at 08:55
  • Посмотрите ответ ссылка – WebMorda Feb 13 '18 at 09:48
  • Посмотрите это видео, там все показано. – Bulson Feb 13 '18 at 10:24
  • В видео автор загружает web проект на Azure. У меня консольное приложение и я не совсем понимаю как настроить платный аккаунт Azure. Поэтому и обратился с вопросом о бесплатной альтернитиве – A.Hall Feb 13 '18 at 10:29
  • "...сервер как сервис для доступа всем пользователям в любое время" не годится вариант с консольным приложением. Напишите по примеру из видео Asp.net приложение и поищите бесплатный хостинг. – Bulson Feb 13 '18 at 10:51

3 Answers3

0

Загрузить бота можно на https://heroku.com/ Там есть бесплатный план подписки. Можно подключить buildpack для того, чтобы работал ASP.NET

Art3A
  • 3
  • 2
    добро пожаловать на Stack Overflow на русском! пожалуйста, постарайтесь оставлять чуть более развёрнутые ответы. дополнить ответ можно, нажав [edit] – aleksandr barakin Nov 09 '19 at 13:43
0

Боюсь, бесплатного хостинга для виндового телеграм бота не найти.

Самое простое из возможного - завести себе ноут/сервер который будет постоянно подключен к домашней сети и на нем будет висеть приложение.

Второй вариант - VPS на винде. Свой личный или же какого-либо знакомого за пиво. Но в этом случае нужно оформить программу как сервис, а не как консольное приложение. Что бы знакомому не мешать. Но человек с личным виндовым VPS это редкость и вряд ли в запасе завалялся...

Больше того... Даже, если бы программа была скомпилирована под линукс - все равно были бы проблемы с хостингом и размещением телеграм бота бесплатно. Хотя найти VPSку или сервер с линуксом значительно дешевле и проще -- они более распостранены - долларов за 4-6 в месяц можно найти, думаю.

Если написать бота под линукс - можно просто подключить, скажем, какой-нибудь Raspberry Pi к домашней сети и на нем хостить бота. Это будет значительно дешевле в долгой перспективе за любой другой вариант. Но, снова таки, для виндового бота это не вариант.


Так что реальных путей 3:

  • попробовать скомпилировать бота под линукс и найти человека с VPS
  • попробовать переписать бота под линукс на другом языке и найти человека с VPS
  • разместить у себя дома отдельный комп/ноут который будет круглосуточно включен (домашний сервер).
-2

Вот ту есть пример запуска бота через Asp Core WebHook

D.Oleg
  • 1
  • 5
    Добавте пожалуйста оссновное из ссылки прямо в ответ, а ссылку оставте как источник. Ответы состоящие только из одной ссылки обычно удаляются. – 0xdb Jun 11 '19 at 19:18