
M
02.07.2017
20:13:33

Карабанов
02.07.2017
20:13:39

Serg
02.07.2017
20:13:50
минут так через 45 уже наступит завтра!

M
02.07.2017
20:13:51
пока всем, не велосипедьте)

Google

Карабанов
02.07.2017
20:14:20

M
02.07.2017
20:15:13
open street map

Serg
02.07.2017
20:15:26

Карабанов
02.07.2017
20:15:45

M
02.07.2017
20:16:07
По тому как пути - это граф)
И там немного посложнее запросы,ахаха)

Serg
02.07.2017
20:16:19

M
02.07.2017
20:16:22
Удачи всем.

Карабанов
02.07.2017
20:17:29

Maksim
03.07.2017
00:29:01
Как можно получить посленее сообщение, которое отправил пользователь сам, пробовал от так, по идеи обновляет, а толку нет, в чем косяк?
Пробовал и с httplib заебаться, но проблема в том, что когда бот работает, этот модуль не может получить то, что получает бот

Google

Petr
03.07.2017
04:45:26
Гайз как сделать ожидание ввода юзера с таймаутом?

Zaur
03.07.2017
04:49:10

Yury
03.07.2017
04:51:21

Zaur
03.07.2017
04:54:40

Yury
03.07.2017
04:55:06

Zaur
03.07.2017
04:55:36

Yury
03.07.2017
04:55:39
Может он на клиентском апи бота пишет, там такое вполне применимо

Vitaly
03.07.2017
05:07:07
/voteban

Александр
03.07.2017
07:16:05
Добрый день, необходимо реализовать телеграм бота c# на паттерне Конечный Автомат (Машина состояний), сталкивался ли кто либо с подобной задачей? Изучил теоретическую часть, но по реализации неясно, с чего необходимо начать? Буду рад любым советам, ссылкам, примерам кода

M
03.07.2017
07:19:15

b0g3r
03.07.2017
07:24:37

Александр
03.07.2017
07:25:49
Смотрю в сторону нугета Stateless, как его прикрутить понятно, непонятно как логику работы бота организовать на нём

M
03.07.2017
07:26:47
Ну без умных слов, когда я делал такую задачу, то довольно просто решал:
Точка входа /start команда, в ней кнопки с callback query в которых указаны команды и параметры, всё, приходит колбек, разибираю, отдаю ответ.
Единтсвенное, где пришлось хранить состояние, это conversation - диалоги - чат с оператором.

Александр
03.07.2017
07:32:20
Реализация диалогов
нужно состояние хранить

b0g3r
03.07.2017
07:33:22

Александр
03.07.2017
07:35:13

b0g3r
03.07.2017
07:35:33
Да и при работе с гетапдейтс, там одинаковые объекты приходят

Google

b0g3r
03.07.2017
07:35:42
Да, id юзера/чата
То есть общая логика действия все равно остаётся примерно такой же, вне зависимости от реализации: храним состояние, достаем и скармливаем апдейт чему-нибудь соответствующему
Там дальше можно уже классы с методами входа-выхода и другой мишурой, но начальном этапе или в простом боте этого свитч-кейз с функциями за глаза

Александр
03.07.2017
07:41:58

b0g3r
03.07.2017
07:42:07
Нет
Простой чат-бот с ожиданием ввода:
Есть стартовое сообщение - состояние start, по умолчанию (безусловный переход в меню после печати приветственного сообщения)
Есть меню с тремя пунктами - состояние меню (ждёт один из трёх пунктов, иначе замыкается на себя).
В каждом из трёх пунктов ждём три разных ввода - три разных состояния (телефон, адрес и имя, например). Если валидацию непрошло, замыкаем, если прошло - обратно в состояние меню
Я думаю на бумажке такую схему нарисовать секунд 30 нужно
Теория для этого никакая не нужна - просто логика переходов

M
03.07.2017
07:46:00

Zaur
03.07.2017
07:47:19
Нажал юзер копку А. Записали в базу что юзер находится в состоянии А. После любого следующего действия идём в базу и достаём от туда состояние этого юзера по его id. Далее делаем то, что нужно сделать в состоянии А.

Александр
03.07.2017
07:47:22
Что имеется ввиду, Замыкается на себя?

b0g3r
03.07.2017
07:47:52
Переустанавливается это же состояние

Zaur
03.07.2017
07:47:59

b0g3r
03.07.2017
07:48:09
Пишем пользователю что он сделал что-то не так и снова ставим это же состояние

Александр
03.07.2017
07:50:15
Т.е. состояния описывать не бота, а юзера, в каком он месте в чате находится?

b0g3r
03.07.2017
07:50:52
Да

Fedor
03.07.2017
07:50:53

b0g3r
03.07.2017
07:51:05
Потому что от этого зависит то, как ты должен обработать сообщение

Александр
03.07.2017
07:53:18
Получается, начать нужно с того, чтобы написать Enum, напр. UserStateType

b0g3r
03.07.2017
07:53:26
Да, например

Google

Александр
03.07.2017
07:53:38
Описать все возможные варианты
Их колличество будет зависеть от диалога, который я решу реализовывать

b0g3r
03.07.2017
07:54:50
https://ru.wikipedia.org/wiki/Метод_утёнка

M
03.07.2017
07:57:02
Кстати, без шуток, очень действенный метод!

Александр
03.07.2017
08:05:31
https://duck.mail.ru/
?
Спасибо за советы, стало понятнее!!!

Вадим
03.07.2017
08:14:51
привет, подскажите как в инлайновую клавиатуру вставить самйлик ? в каком формате, юникод код смайлика ?

Oleg
03.07.2017
08:15:08

Вадим
03.07.2017
08:15:18

Serg
03.07.2017
08:15:31

Вадим
03.07.2017
08:16:27
\U+1F44D
вот код и его как строку просто передать ?

Fedor
03.07.2017
08:17:08

Вадим
03.07.2017
08:17:43
ща попробую спс

Sergey
03.07.2017
08:52:42
Привет всем подскажите если в боте рассылку организовать то есть ли какой то лимит по запросам и времени?

Fedor
03.07.2017
08:53:35

Sergey❄️
03.07.2017
08:53:36
Есть)

Sergey
03.07.2017
08:54:22
Есть)
что по чем? не более 30 в секунду? я просто помню кидали но забыл где это смотрели

Google

b0g3r
03.07.2017
08:55:28
@Groosha, @lxgnchrv как насчёт создать faq как в @pydjango/@ru_python_beginners? вопросы очень часто повторяются, так можно будет туда посылать

Sergey
03.07.2017
08:55:50
особено стейт машину надо в faq ?

Fedor
03.07.2017
08:56:00

Qwerty!
03.07.2017
09:34:04
Привет, можно ли file_id(фото) из @ShowJsonBot отправить по методу sendPhoto?

Aztwin LK
03.07.2017
09:39:41
Да

Sergey
03.07.2017
09:41:24
подскажите почему я ловлю retry after просто переключая инлайн клавиатуру?
или это из за полинга?
выставил интервал 1 секунду вроде нормально стало
а не, нихера

Sergey❄️
03.07.2017
09:46:19

Sergey
03.07.2017
09:46:47
Быстро жмешь
это да, то есть через вебхук такая же проблема будет?

Sergey❄️
03.07.2017
09:47:24

Sergey
03.07.2017
09:47:43