Ответы пользователя по тегу Telegram
  • Как сделать так, чтобы Telegram bot работал для каждого пользователя отдельно (JAVA)?

    RATlius
    @RATlius
    Разработчик Android
    Сталкивался с похожей проблемой в разработке своего бота. Исправил эту проблему так:
    Создал поле Map userMap; и Набор состояний отдельным классом State (можно реализовать через enum или иным удобным образом)
    при обращении пользователя к боту вносил его в это поле, когда приходил новый запрос к боту - проверял есть ли пользователя в userMap. Если есть пользователь в списке - продолжить с его State, если нету - начать со стартового state
    Код
    @Override
        public void onUpdateReceived(Update update) {
            if (update.hasMessage()) {
                Message inMessage = update.getMessage();
                long chatId = inMessage.getChatId();
                botState = switchBot(inMessage.getFrom());
    
                if (botState == State.main) {
                    if (inMessage.hasText()) {
                    ...
                } else if (botState == State.newOrder) {//заявка записаться
                    String positiveAnswer = "Спасибо, мы Вам перезвоним";
                    String messageAdminsText = "";
                    ...
                } else if (botState == State.dev) { //команды разработчика
                    if (inMessage.hasText() && inMessage.getFrom().getUserName().equals(Const.DEV)) {
                    ...


    Это не лучший способ, можно сделать лучше и через потоки, но я не стал сильно заморачиваться с этим
    Ответ написан
    Комментировать
  • Telegram бот не отвечает на кнопки, как заставить?

    RATlius
    @RATlius
    Разработчик Android
    Ваша проблема сложна и неочевидна. Она не описывается в тех туториалах, по которым Вы скорее всего изучаете это Api.
    Пришлось самостоятельно написать нового Бота, чтобы понять это.
    После трудностей Telegram с РКН его до сих пор пытаются блокировать.
    Подключитесь к интернету через vpn и Ваш Бот будет работать
    Ответ написан
    6 комментариев