Подскажите, может ли пользователь, взаимодействуя с ботом, послать другого пользователя

в определенную сцену?

22 ответов

13 просмотров

Да, если другой пользователь ранее взаимодействовал с ботом.

danir- Автор вопроса
Danil Shaymurzin
Да, если другой пользователь ранее взаимодействова...

как это делается? где искать? другой пользователь взаимодействовал. нужно послать ему сообщение и направить в сцену с ожиданием ответа/реакции на это сообщение

Это костыли будут. Нужно найти среди всех сессий сессию нужного юзера, и записать в эту сессию нужную сцену. Лучше так не делать.

danir
4.3.0

Тогда тебе не к нам. Пиши сюда: @TelegrafJSChat

danir- Автор вопроса
Ордо Ксенос
Это костыли будут. Нужно найти среди всех сессий с...

а как тогда должна выглядеть логика - пользователь id_1 совершает действие, влияющее на пользователя id_2, и нажимает кнопку "я сделал". бот должен пингануть пользователя id_2 сообщением и никуда не выпускать его, пока не получит ответ-нажатие кнопки - "да, он сделал" или "нет, он не сделал"

danir- Автор вопроса
Danil Shaymurzin
Тогда тебе не к нам. Пиши сюда: @TelegrafJSChat

посмотрел, там на англ. яж программист ненастоящий, и не знаю отличий версий. какая встала по npm i telegraf, той и пользуюсь

danir- Автор вопроса

так вопрос от версии не зависит

danir
так вопрос от версии не зависит

Реализация работы систем сцен разная...

danir
а как тогда должна выглядеть логика - пользователь...

Хранить где-то состояние. Юзер 1 совершил действие, ты сохраняешь в нужное место запись вида { id: user_2_id, inScene: true }. И потом в зависимости от этой записи по разному обрабатываешь сообщения пользователей. Как-то так в общем.

danir- Автор вопроса

я взял исходники бота eve-movie и переделываю для себя. и eve на версии 3.25.0

danir- Автор вопроса
Ордо Ксенос
Хранить где-то состояние. Юзер 1 совершил действие...

для user_2 пошлю сообщение с 2-мя кнопками. и в каждой сцене нужно будет прописать реакцию на эти две кнопки? (т.к. в момент прихода сообщения user_2 может находиться в любой сцене)

danir- Автор вопроса
danir- Автор вопроса
Danil Shaymurzin
Обычные сцены или Wizard? Версия 3.38?

Сцены обычные. Если переделаю на телеграф 3.8, то где искать, как отправить другого юзера в сцену?

danir
Сцены обычные. Если переделаю на телеграф 3.8, то ...

Посмотри реализацию scene.enter, там поймёшь

danir- Автор вопроса
Danil Shaymurzin
Посмотри реализацию scene.enter, там поймёшь

scene.enter - можно отправить другого юзера по его id?

danir
scene.enter - можно отправить другого юзера по его...

Реализацию функции посмотри, там всё понятно

danir
Ок, спасибо!

Вместо hears, юзай command

Похожие вопросы

Обсуждают сегодня

Кто хочет поиграться в легкий взлом специально уязвимого приложения? :) Ваше задани - вы студент группы 416 - оценку в 100 баллов и найти 10 флагов (текстовых) формата Step0...
Andrii Kurdiumov
4
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
<div class="report-widget"> <h3 style="margin-bottom:10px;"> <?= e(__($this->property('title'))) ?> </h3> <button type="submit" data-request-flash ...
Vladimir 
2
Точно проблема в твиге?
Vladimir 
5
Ребят, а почему вызов add-tag может возвращать не нулевой код даже если операция прошла успешно? Дело в том, что образ корректно помечается, но ветка заходит в "then"... gclou...
Philipp Bondarev
2
<div class="report-widget"> <h3 style="margin-bottom:10px;"> <?= e(__($this->property('title'))) ?> </h3> <button type="submit" data-control="popup...
Point 111
1
Ребята привет. Telegraf 3.38 актуален ещё или лучше обновиться?
𝙊𝑙ẽ𝘨 // Rabbit Hole
2
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
@LeMaX10 а ты же делаешь в своем боте капчу на вход в чат? или так же на первое сообщение?
Sergey
4
Карта сайта