@Stivux

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

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

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

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

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

то тут стоит задуматься о конечном автомате. Тогда необходимо будет сохранять состояние конечного автомата, на котором пользователь остановился.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Что у вас там за ии бот
он же не умеет думать
приходит сообщение от а он видит что от а
приходит от б он видит что от б
ничего он сам не думает
Ответ написан
@lightmanLP
Задушил питона
сравнивать from_id и использовать базу данных
Ответ написан
@Mychenik
Stivux, вы смогли это реализовать? Я столкнулся с такой же проблемой и не могу решить ее
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект