koslavr, красавчик! Что б отметить, что вопрос решённый, это нужно писать ответ, а не комментарий к вопросу. А что бы написать ответ там по правилам нужно все четко и красиво, а я так, чисто логику сказал.
P.S ты в коде засветил токен своего бота, предлагаю поменять его, на всякий случай
Не знаю метод(ы) как это сделать. На выбор - ввести глобальную переменную или с помощью БД сделать ячейку STOP со значениями 0 и 1. В функцию старт внести код изменяющий глобальную переменную/значение ячейки к примеру на 1. В функцию стоп тоже самое только на 0. И в каждую функцию бота, которая вызывается командой/фразой вставить условие if и проверять значение глобальной переменной или ячейке. Если 1 то выполняем, если 0 то ничего или там ответ "БОТ СПИТ"
Отвечаю тут, т.к. никакой код не пишу (это база) и считаю, что костыль, но работать будет 100%).
ЗАБЫЛ еще добавить условие для записи в глобальную переменную или бд, if message.from_user.id == ТВОЙ ИД:, что б другие не могли менять)
Спасибо. Смысл понял, но я наверное упустил в вопросе. Кнопку "показать ещё" хочу сделать "бесконечной". То есть, сколько бы человек не нажимал, она будет перемешивать словарь и показывать первое верное значение. То есть как обычный хендлер, но что бы не терял данные, переданные в FSM ранее. То, что вы написали выше это вариант для одного нажатия "Показать ещё".
Пишу в блокноте, пользуюсь стандартной командной строкой , для бота из двух кнопок самое оно) быстрее чем установить, зарегистрироваться и настроить IDE
SQLite, создать нужное "окружение". Заносить ID каждого нового пользователя бота/группы, создать нужные таблицы и переменную привязать к таблице к примеру ID_USERS. Из воздуха получить ИД пользователя, не знаю такой метод, может и есть
Недавно делал похожее для себя, парсил кое что в файл .json. И каждые 20 минут проверяю, если ли что-то новое. Если есть, записываю в новый словарь новое и дописываю в старый старое+новое. А с нового у меня постится и затирается. Если у тебя похожее, напиши, скину исходник, тг @optiqk