Python TeleBot. Проблема с повторyым вызовом функции /start

Пишу бота на питоне. Его смысл - периодически сканит папку с фотографиями и, когда добавляется новое изображение, присылает его пользователям. Так же ведет отсортированный список в txt. Есть функция /get, которая позволяет отдельно прислать любое изображение из списка.

Проблема: При вызове функции старт одним пользователем все работает исправно. Но при запуске с другого аккаунта перестают работать остальные кнопки. При добавлении изображения бот присылает всем пользователям весь список. Такая же проблем возникает при тройном нажатие на /start с одного аккаунта.

("FotoList.txt" - txt со списком изображений; "id.txt" - список телеграммных айдишников пользователей, которым нужно отправить изображение)

import telebot
import os, time
from fnmatch import *
def sorting(array):
    newArray=[]
    for i in array:
        s=''
        for g in i:
            if g.isdigit():
                s+=g
        newArray+=[[int(s),i]]
    newArray=sorted(newArray)
    array=[i[1] for i in newArray]
    return array
bot = telebot.TeleBot('token')
bot.set_webhook()
start=True
directory="D://..."
with open("FotoList.txt", "w") as f:
    old_listWith = os.listdir(directory)
    tArray=[]
    for imagine in old_listWith:
        if fnmatch(imagine,"000000*.jpg") or not (fnmatch(imagine,"*.jpg")):continue
        tArray+=[imagine + "\n"]
    tArray=sorting(tArray)
    print(tArray)
    for i in tArray: f.write(i)
@bot.message_handler(commands=['start'])
def handle_start(message):
    user_markup = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
    user_markup.row('/start')
    user_markup.row('/get')
    user_markup.row('/stop')
    bot.send_message(message.from_user.id, "BOT STARTED", reply_markup=user_markup)
    global start
    start = True
    print("st")
    start_command(message)
    return

@bot.message_handler(commands=['menu'])
def start_command(message):
    # print('11')
    global start
    if start:
        global directory

        sec_old_listWith = os.listdir(directory)
        new_list = []
        for imagine in sec_old_listWith:
            if fnmatch(imagine, "000000*.jpg") or not (fnmatch(imagine, "*.jpg")): continue
            new_list += [imagine]
        new_list = sorting(new_list)

        with open("FotoList.txt","a+") as file:
            file.seek(0)
            old_list =[]
            for i in file:
                if "\n" in i and i!="\n": old_list+=[i[:-1]]
                elif i!='' : old_list+=[i]
            old_list=sorting(old_list)
            new_list=sorting(new_list)

        if old_list==new_list:
            time.sleep(4)
        else:
            with open("FotoList.txt", "w+") as file:
                idList=open("id.txt").readline().split()
                for i in new_list:
                    file.write(i + "\n")
                    if i not in old_list:
                        for idd in idList:
                            try:
                                bot.send_photo(int(idd), open(directory+"//"+i,'rb'))
                                print("DONE")
                            except: print(idd+" ne work")
                time.sleep(4)

        start_command(message)
    else: return
@bot.message_handler(commands=['stop'])
def stop(message):
    print('st')
    global start
    start=False
    bot.send_message(message.chat.id,"Bot stoped")



@bot.message_handler(commands=['get'])
def list(message):
    print("gt")
    if len(message.text)>len("/get"):
        get(message)
        return
    with open("FotoList.txt") as file:
        file=file.readlines()
        s=''
        for i in range(0,len(file)):
            s+=str(i+1)+") "+file[i]
        bot.send_message(message.chat.id,s)
        bot.send_message(message.chat.id, "Введите номер изображения")
        bot.register_next_step_handler(message,get)
        return
def get(message):
    with open("FotoList.txt") as file:
        file=file.readlines()
        try:
            try: value=int(message.text)
            except: value=int(message.text[5:])
            if value<1: int("i-4utnv3-3i4utnv-3i4untv-34uintv")
            photo=file[value-1]
            if '\n' in photo: photo=photo[:-1]
            global  directory
            with open(directory+"//"+photo,'rb') as sendFoto:
                bot.send_photo(message.chat.id,sendFoto)
        except:
            bot.send_message(message.chat.id,"Чёт нет такого. ERROR получается)")
    return


while True:
    try:
        bot.polling(non_stop=True, interval=0)
    except Exception as e:
        print(e)
        time.sleep(5)
        continue


Ответы (0 шт):