如何使TelegramBot不断工作,而无需一直手动启动我的Java程序?

时间:2017-08-24 16:00:39

标签: java telegram telegram-bot

我是新手,我在Eclipse中编写了TelegramBot的代码。它工作正常,但我想知道如何在没有启动 Java-application 的情况下让它持续工作。我想我应该使用服务器。感谢

编辑:添加了Java代码

import java.time.LocalDateTime;
import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.Update;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.exceptions.TelegramApiException;

public class MyFirstBot  extends TelegramLongPollingBot{

    @Override
    public String getBotUsername() {
        // TODO Auto-generated method stub
        return "TheBot Version0.01";
    }

    @Override
    public void onUpdateReceived(Update update) {
        // TODO Auto-generated method stub
         SendMessage message = new SendMessage()
                    .setChatId(update.getMessage().getChatId());
         if(update.hasMessage() && update.getMessage().isCommand()){
             try{
                 switch(update.getMessage().getText()){ //reads command
                 case("/hello"):
                    message.setText("Hi there!"); 
                    sendMessage(message); //says hello
                    break;
                 case("/date"):
                    message.setText(LocalDateTime.now().toString());
                    sendMessage(message); //tells time and date
                    break;  
                 default:
                    message.setText("Invalid Value");
                    sendMessage(message);} //in case no such command exists
             }
             catch(TelegramApiException e){
                 e.printStackTrace();
             }
         }          
    }

    @Override
    public String getBotToken() {
        // TODO Auto-generated method stub
        return "xxx";
    }

}

3 个答案:

答案 0 :(得分:1)

您需要使用支持Java的主机。你也可以得到一个服务器,在上面安装java,然后在那里编译和启动你的程序。然后你的机器人将永远可用。

或者如果您不想花钱,可以将项目导出为可运行的Jar文件。然后把它放在你的系统启动中。

答案 1 :(得分:1)

我建议将您的应用程序导出到.jar文件中并使用任务调度程序(Windows)运行它或者运行它来运行它(Linux)。如果您有Amazon Web Services帐户,还可以使用Lambda函数。如果需要,你可以买一个像树莓派的小型计算机,并在那里运行,就好像它是一个“服务器”。

答案 2 :(得分:0)

如果您有一台不使用的旧电脑,您只需在其上运行您的机器人即可。 它将类似于Raspberry PI,但您根本不需要花钱。 而且,它可能会更有效率。