@Stivux

Как реализовать работу ВК-бота на Python одновременно с несколькими пользователями?

Есть ВК-бот группы, написанный на Python. Если во время общения бота с одним пользователем(например: a) боту напишет другой пользователь(например: b), то бот будет думать, что оба сообщения написал первый пользователь (a). То есть одновременно общаться с ботом нескольким пользователям не получится. Как это исправить? Что нужно добавить в код, изменить в нем, чтобы решить проблему?

Пробовал написать ВК-бота двумя способами: с помощью longpoll и без него. (В обоих способах присутствует приведенная выше проблема!)
Сам код (очень некрасивый :) ) :
Я.Диск - https://yadi.sk/d/n3IhqYkXwPwPzw
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
Что у вас там за ии бот
он же не умеет думать
приходит сообщение от а он видит что от а
приходит от б он видит что от б
ничего он сам не думает
Ответ написан
@lightmanLP
Душу питона
сравнивать from_id и использовать базу данных
Ответ написан
@Taus
Вам необходимо сохранять номер шага/вопроса (кто-то называет это контекстом общения, состоянием) для каждого пользователя, который начал диалог с ботом. К сожалению в открытом доступе таких библиотек для vk на python не нашёл. Поэтому приведу общий алгоритм решения такой задачи. За конкретной реализацией уже надо на соседний сайт.
В случае линейной цепочки вопросов без возможности возврата назад
Начало +-> Вопрос 1 +-> Вопрос 2 +-> Вопрос 3 +-> Конец
            ^   +        ^   +        ^   +
            +---+        +---+        +---+

достаточно только хранить номер вопроса, на котором остановился пользователь.

Если же диалог предполагается более сложны, разветвлённым и даже с возвратами на предыдущие шаги,
Начало +-> Вопрос 1 +-> Вопрос 2 +-> Конец
             +              ^
             +-> Вопрос 3 +-+

то тут стоит задуматься о конечном автомате. Тогда необходимо будет сохранять состояние конечного автомата, на котором пользователь остановился.
Ответ написан
@l7_7l
Зачем изобретать велосипед? В интернете есть куча готовых платформ для создания ботов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Delta Волгоград
от 60 000 до 100 000 руб.
от 120 000 до 170 000 руб.
m7 Москва
от 50 000 руб.
23 авг. 2019, в 18:17
9999 руб./за проект
23 авг. 2019, в 18:07
1000 руб./за проект
23 авг. 2019, в 18:06
9999 руб./за проект