файл проверял, у меня там пока что только 2 строки да и при считывания st1 как уже писал выше выводит все правильно, список из ключа и значения, т. е. split успешно делит на 2 части
Amalat, ну я тоже новичек, но я записывал все в текстовый файл, почитайте про работу с файлами, я сделал для чтения и записи отдельный класс
каждая строка файла типа id:value
и когда читаю я её разделяю на айди пользователя и его значение и записываю все в буфкрный словарь
что касается рассылки для всех - пишем обработчик который просит нас ввести сообщение для рассылки и в цикле for просто отправляем всем это сообщение , а что бы получить айди у нас уже есть список пользователей за все время)
for i in allUsers :
bot. send_message(str(i), <ваше заранее обработано сообщение>
Amalat, ну смотрите , насчёт того как считать пользователей за день и месяц - заводим список для месяца и для дня, ну и общий, когда новый пользователь логинится в Боте (команда /start) мы должны проверить есть ли он в общем списке(писал ли он нам вообще когда-то), если есть-просто общаемся если нету- добавляем в дневной, месячный и основной, в конце каждого дня мы просто сбрасываем дневной список и анологично в конце месяца сбрасываем месячный, но никогда не сбрасываем общий! когда надо узнать прирост за сегодня - пишем обработчик команды условно /prirost и когда команда обрабатывается - делаем 2 кнопки - за месяц и за день. и при нажатии выводится len() нашего списка, и да, забыл сказать что в список добавляем айди чата, он у каждого свой йи его нельзя сменить в отличии от Ника message. chat. id