Форум программистов, компьютерный форум, киберфорум
Java: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 27.11.2015
Сообщений: 21

Telegram Bot API не могу заполнить стек

15.10.2018, 21:10. Показов 2103. Ответов 0

Студворк — интернет-сервис помощи студентам
Всем привет. Появилась надобность создать стэк моих объектов класса, которые бы обрабатывали для каждого чата по отдельности сообщения (есть устанавливаемый пользователем текст, который для всех пользователей свой). Обьявил глобально стэк, после чего заполняю стэк в методе onUpdateReceived, но он не заполняется. Каждый раз при входе в этот метод он пустеет, хотя я думал, что т.к. стэк глобальный, то он не должен пустеть. Как заполнить стэк? Использую если что java.util.Stack.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 static public Stack<messageLogic> StackOfChat = new Stack<>();
//дальше идет метод SendMSG
 public void onUpdateReceived(Update update) {
        System.out.println(update.getMessage().getChatId());
        Message message = update.getMessage();
        boolean newUser = true;
        if(StackOfChat.isEmpty() )
        {
            messageLogic Messages;
            System.out.println("Стэк пуст");
            newUser = false;
            StackOfChat.push(new messageLogic(message.getChatId()));
            Messages = (messageLogic) StackOfChat.pop();
            sendMsg(message, Messages.messageHandler(update));
            k++;
        }else{
        messageLogic Messages;
        Messages = (messageLogic) StackOfChat.pop();
        sendMsg(message, Messages.messageHandler(update));}
       /* else{ // это закомментированная часть кода, она должна отвечать за нахождение нужного обьекта для определенного чата
            while(!StackOfChat.empty()){
                Messages = (messageLogic) StackOfChat.pop();
                if(message.getChatId() == Messages.getChatID()){
                    newUser = false;
                    sendMsg(message, Messages.messageHandler(update));
                    break;}
            }
        }
        if(newUser == true){
            StackOfChat.push(new messageLogic(message.getChatId()));
            Messages = (messageLogic) StackOfChat.pop();
            sendMsg(message, Messages.messageHandler(update));
        }*/
        }
Не кидайте тапками, если что базы данных не учил пока, а своего бота захотелось.

Добавлено через 10 минут
Кину сам в себя тапком.
Метод pop извлекает верхний элемент из стека, удаляя его, а метод peek извлекает без удаления.
Можно тему закрывать, прошу прощения администрацию, что создал тему не подумав хорошенько(
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2018, 21:10
Ответы с готовыми решениями:

Api Telegram Bot
Захотелось попробовать написать бота для телеграмм. Решил писать без библиотек, просто запросы. Однако когда захотел вставить Inline...

Парсер + Telegram-bot-api
Здравствуйте, форумчане! Вообщем есть парсер needle.get(url, function(err, res){ if(err) throw err; var $ =...

Telegram Bot api удаление данных БД inline клавиатурой
Подскажите, пожалуйста, как реализовать удаление из базы данных вопроса. 1.callback_data кнопки формируется динамически на основании id...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2018, 21:10
Помогаю со студенческими работами здесь

Не могу подключить библиотеку Telegram.Bot
Я хочу использовать библиотеку Telegram.Bot и у меня не выходит ее подключить при попытки указать ссылку. Библиотеку я скачал на гитхабе...

Telegram Bot "Анкета приема на работу", не могу сделать!
Здравствуйте! Возникла проблема в создании телеграм бота, через незнания API + языка Python))) Пробовал делать на TELEBOT! В общем! Опишу...

Бот telegram не может подключиться к https://api.telegram.org:443: (Java)
Здравствуйте! Возникла такая проблема при запуске бота в intelij idea ultimate программа выдает такое сообщение:&quot;юн. 02, 2018 8:42:11...

По запросу url создать pdf веб-страницы
Доброго времени суток! :) Пишу свойего бота для телеграм вот уже месяц(немогу разобраться). Хочу чтобы бот брал url который написал...

Telegram bot
Хочу написать бота для телеграмма, чтобы оповещал о приходе сообщений от определенного отправителя. Хотела просто уточнить несколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru