
[Anonymous]
11.12.2016
23:22:33

Yury
11.12.2016
23:22:51
Для удобства

[Anonymous]
11.12.2016
23:23:00

Google

[Anonymous]
11.12.2016
23:23:05

Евгений
11.12.2016
23:23:06

[Anonymous]
11.12.2016
23:23:16
У меня просто все боты без фреймворков, я вот лох по местным меркам.
Хочу понять кейс.

Евгений
11.12.2016
23:23:45

[Anonymous]
11.12.2016
23:23:45
Зачем X будет ставить фреймворк для Bot API.

Yury
11.12.2016
23:24:09
Чтобы упрощать разработку.
Воооот
Поэтому проще сделать composer require botman и написать пару строк фасадов
Чем городить немасштабируемый огород из функций

[Anonymous]
11.12.2016
23:24:34
Если очень базово.
А если очень-очень базово.
file_get_contents(...);
Чтобы отправить одно сообщение - мне нужно две строчки, http_build_query и file_get_contents.

Google

Yury
11.12.2016
23:25:41

[Anonymous]
11.12.2016
23:26:01
С клавиатурами всё геморройно, есть такое ?

Евгений
11.12.2016
23:26:37
Хочу понять кейс.
У тебя есть бот, который ловит 3 команды и ещё одно действие, если написал админ.
Без фреймворка:
1) делаешь метод, который делает запросы в телегу
2) пишешь метод для получения апдейтов, парсишь json
3) херачишь длинный if-else по одному на каждую команду + один для определённого ID.

[Anonymous]
11.12.2016
23:26:39
Но всё-таки в основном фреймворки для Bot API как раз усложняют разработку в итоге.

Евгений
11.12.2016
23:27:09
С фреймвором (питон)
4 аккуратных хэндлера, код простой и читабельный

[Anonymous]
11.12.2016
23:27:27
Типа on('message', ... ?
Только скрыто от тебя в либе.
Я могу свои функции тоже в либу захуярить.

b0g3r
11.12.2016
23:28:38
эм
так захуярь
в этом и смысл, в общем-то

Yury
11.12.2016
23:29:04

b0g3r
11.12.2016
23:29:04
ты же сам сообщений 20 назад ответил на свой вопрос)

Евгений
11.12.2016
23:29:15
Ну смотри.
https://github.com/MasterGroosha/telegram-tutorial/blob/master/lesson_08/bot.py
3 аккуратных метода: для сообщений, для колбэков, для инлайна.
Хочешь сказать, что БЕЗ фреймворка код получится проще, меньше и читабельнее?

Yury
11.12.2016
23:29:24

[Anonymous]
11.12.2016
23:29:46

Yury
11.12.2016
23:29:50
Экономим процессорные циклы, нагнетаем простоту в коде

b0g3r
11.12.2016
23:29:50

Google

[Anonymous]
11.12.2016
23:29:52
А тут 3 def'a.
Велика беда.

Евгений
11.12.2016
23:30:04
Хорошо, секунду

Yury
11.12.2016
23:30:20
Не кормите тролля

[Anonymous]
11.12.2016
23:30:35
мне что-то не нравится
@
мам, меня троллят

Yury
11.12.2016
23:30:53

[Anonymous]
11.12.2016
23:31:07
Что жирного?

Евгений
11.12.2016
23:31:08
https://github.com/MasterGroosha/telegram-xkcd-password-generator/blob/master/xkcd_passwords_bot.py
Вот побольше условий.
Посчитай уровень вложенности для твоего случая + клавы + их редактирование + работа с БД

[Anonymous]
11.12.2016
23:31:12
То, что я не использую фреймворки для ботов?

Yury
11.12.2016
23:31:19
Фреймворки нужны чтобы упрощать разработку
@
Фреймворки для бот апи все усложняют

[Anonymous]
11.12.2016
23:31:19
Я вот пришёл сюда и задал профильный вопрос.
Это telebot?

Евгений
11.12.2016
23:32:17
Да, поэтому они не нужны.
Использование фреймворков позволяет тратить меньше времени на подготовку к реализации логики и больше на саму логику. То, что нужно.

b0g3r
11.12.2016
23:32:17
С клавиатурами всё геморройно, есть такое ?

Евгений
11.12.2016
23:32:28

dMiXb
11.12.2016
23:33:45
М

Google

Serj
11.12.2016
23:34:41
Всем привет, не особо тематический вопрос: а где можно о своём боте рассказать?

[Anonymous]
11.12.2016
23:35:47

Yury
11.12.2016
23:36:27
Хахахах
Потому что это не читается?

Евгений
11.12.2016
23:36:44

[Anonymous]
11.12.2016
23:37:05
Но я твой поинт понял.

Евгений
11.12.2016
23:37:13
Ты делаешь дополнительный if, там вылетает ещё исключение, и так далее

[Anonymous]
11.12.2016
23:37:28
Фреймворк имеет все эти дополнительные штуки, но мне кажется, что их так мало, что нет смысла ради этого что-то ставить.
А вам кажется, что их достаточно много.

Евгений
11.12.2016
23:37:38
В итоге у тебя 100500 if-else, тебе надо контролировать, куда вставлять новый и так далее

Yury
11.12.2016
23:39:27

[Anonymous]
11.12.2016
23:39:45
Дело не в месте на диске, а в понятной структуре проекта + его нагрузке.
Я не понимаю, зачем мне подгружать лишние классы и функции, если всё умещается в двух методах.

Yury
11.12.2016
23:40:35

Евгений
11.12.2016
23:40:44
Но я твой поинт понял.
Считаем if:
1) какого типа апдейт
2) какого типа сообщение или какого типа инлайн/колбэк (это уже строчек 50 одних лишь if-else)
3) потом if по командам/id и т.д.
А теперь – фаталити! Реализуй без фреймворков пошаговые действия (конечный автомат состояний)
Уверен, в лучших BDSM-клубах мира тебе не доставят такую боль, которую ты испытаешь, решая эту задачу без фреймворков

[Anonymous]
11.12.2016
23:40:47
И почему сразу спагетти?
Я тоже использую функции.

Google

Yury
11.12.2016
23:41:06

[Anonymous]
11.12.2016
23:42:17

Евгений
11.12.2016
23:42:28
Господа, а давайте проведём эксперимент!

[Anonymous]
11.12.2016
23:42:31
Почему сразу ассоциация с говнокодом - не понимаю.
До того как добавили возможность указывать тип данных которые прилетают в хуке, у меня стояла вот такая штука в одном месте.
Я не понимаю, почему это плохо и нечитаемо. Мне кажется, всё предельно понятно.
Денаим сообщение при определённых условиях.

Евгений
11.12.2016
23:45:33
ТЗ:
1) на входящую картинку отвечать file_id
2) на команду /start спрашивать число, если введено число, спрашивать букву.
3) когда по очереди переданы число и буква, вернуть их вместе
4) на любой инлайн предлагать текст "Telegram"
Товарищ с иероглифами пишет без фреймворка, кто-то другой пишет на том же ЯП с использованием фреймворка. Потом сравниваем

Yury
11.12.2016
23:46:09

Dmitriy
11.12.2016
23:46:46

[Anonymous]
11.12.2016
23:47:00
Что он отправил X сообщений назад.

Евгений
11.12.2016
23:47:13
Обычная ситуация для бота

[Anonymous]
11.12.2016
23:48:04
А кто как кстати это реализует? Я обычно Redis подключаю или Memcached.

Евгений
11.12.2016
23:48:24
Лол, enum+shelve/vedis
Но не суть. Ты готов?

[Anonymous]
11.12.2016
23:49:23
Да, хотя я не уверен, что закончу сейчас же.

Евгений
11.12.2016
23:49:39
А никто не торопит. Выбирай ЯП

Dmitriy
11.12.2016
23:50:00
а можно я в жюри буду ?

Евгений
11.12.2016
23:50:30
Не будет жюри. Просто участники выложат код, а остальные выскажутся