如何构建一个Telegram机器人来建议你使用java比萨饼?

时间:2016-09-18 14:14:25

标签: java telegram telegram-bot

我创建了一个主java文件,并为机器人添加了一条说明:在我创建的公共频道上说“我喜欢披萨”。

public class Main {
  public static void main(String[] args) {
  //create a new Telegram bot object to start talking with Telegram
  TelegramBot bot = TelegramBotAdapter.build(“HERE YOUR API KEY”);
  bot.sendMessage(“@pizzaciaopizza”, “I love Pizza”);
  }
}

这很有用。好的开始。谢天谢地,我的机器人喜欢披萨。 我想让我的机器人回答像“/ recommendPizza”这样的命令并回答一些问题。那么怎么能这样做呢?

任何帮助?

1 个答案:

答案 0 :(得分:0)

您似乎正在使用https://github.com/pengrad/java-telegram-bot-api,对吧?

我之前使用的是https://github.com/rubenlagus/TelegramBots。它提供了一个简单的侦听器API来接收更新:

public class PizzaBot {

    private static final Logger LOG = Logger.getLogger(PizzaBot.class.getName());

    public static void main(String... args) throws Exception {
        TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
        telegramBotsApi.registerBot(new TelegramLongPollingBot() {

            @Override
            public void onUpdateReceived(Update update) {
                Message message = update.getMessage();
                Long chatId = message.getChatId();
                String input = message.getText();
                if ("/recommendPizza".equals(input)) {
                    SendMessage request = new SendMessage();
                    request.setChatId(chatId.toString());
                    request.setText("Have a calzone!");
                    try {
                        sendMessage(request);
                    } catch (TelegramApiException e) {
                        LOG.log(Level.SEVERE, "Could not send message", e);
                    }
                }
            }

            @Override
            public String getBotUsername() {
                return "YOUR_BOT_USERNAME";
            }

            @Override
            public String getBotToken() {
                return "YOUR_BOT_TOKEN";
            }
        });
    }
}