При подключении многопоточности перестали задаваться переменные
Делал бота, после подключил многопоточность
for event in longpoll.listen():
x = threading.Thread(target=bot, args=(event, ))
x.start()
x.join()
def bot(event):
if event.type == VkBotEventType.MESSAGE_NEW:
peer_id = event.obj['peer_id']
from_id = event.obj['from_id']
user = UserConnect()
...
Сначала всё работало, но после подключения потоков перестали задаваться переменные
peer_id = event.obj['peer_id']
from_id = event.obj['from_id']
user = UserConnect()
Если проблему с peer_id и from_id можно избежать заменой на event.obj, передавая его в качестве аргумента, то с user оказалась проблема.
NameError: name 'user' is not defined
Пробовал вырезать код из bot, создать новую функцию и её вызывать в самом bot, но не помогло.
Ответы (1 шт):
Автор решения: mlneko
→ Ссылка
Поместив код в функцию для многопоточности, я забыл что переменные станут локальными а не глобальными. Надеюсь тема кому-то поможет, не я же один такой глупый......