@botoid

Страница 325 из 4042
[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
Так зачем нужен фреймворк для Bot API если всё укладывается в одну функцию?
Ооо даааа, а потом у тебя if-else на дохулиард условий, когда начинаешь парсить сообщения

[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
Воооот Поэтому проще сделать composer require botman и написать пару строк фасадов Чем городить немасштабируемый огород из функций
Позвольте! Ну почему огород и почему немасштабируемый? Нужно выставить вебхук и отправить sendMessage.

Если очень базово.

А если очень-очень базово. file_get_contents(...);

А если очень-очень базово. file_get_contents(...);
Это, конечно, плохая идея, это просто пример.

Чтобы отправить одно сообщение - мне нужно две строчки, http_build_query и file_get_contents.

Google
Yury
11.12.2016
23:25:41
Позвольте! Ну почему огород и почему немасштабируемый? Нужно выставить вебхук и отправить sendMessage.
Потому что если нужно отправить дополнительно клавиатуру, что тогда? Если нужно выключить превью ссылок? А если через год в тг поменяется название параметра, кто будет вспоминать где он в коде засунут?

[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
Но всё-таки в основном фреймворки для Bot API как раз усложняют разработку в итоге.
Ну раз так, бот апи так то вообще не нужен Взаимодействие с ботами - это ещё один слой апи, так что рекомендую написать нативный клиент, который через ихний бинарный протокол будет напрямую работать с ботами

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: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
Фреймворки нужны чтобы упрощать разработку @ Фреймворки для бот апи все усложняют

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

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

Евгений
11.12.2016
23:32:28
Это telebot?
pyTelegramBotAPI

dMiXb
11.12.2016
23:33:45
Пина нет, но можно ботом запостить сообщение, запинить его и редачить потом сколько влезет.
Не. Цель в том, чтобы бот алярмил участников чата по ключевым словаи

М

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

[Anonymous]
11.12.2016
23:35:47
Использование фреймворков позволяет тратить меньше времени на подготовку к реализации логики и больше на саму логику. То, что нужно.
@bot.message_handler(commands=["start"]) bot.send_message(message.chat.id, texts.text_start, parse_mode="HTML") ... @bot.message_handler(commands=["help"]) bot.send_message(message.chat.id, texts.text_help, parse_mode="HTML") Почему это хуже: j = json.loads(req) if j['message']['text'] == '/start': params = {"foo": "bar"} yourReqFunc(j['message']['chat]['id'], params) if j['message']['text'] == '/help': params = {"foo": "bar"} yourReqFunc(j['message']['chat]['id'], params)

Yury
11.12.2016
23:36:27
Хахахах

Потому что это не читается?

[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, тебе надо контролировать, куда вставлять новый и так далее

[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
То есть без фреймворка нельзя написать читаемый код?
Можно, но зачем, если все давно написано и выложено в пакете?

Евгений
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
Я не понимаю, почему это плохо и нечитаемо. Мне кажется, всё предельно понятно.
Это уже логика бота, к фреймворкам мало имеет отношения

[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
Не будет жюри. Просто участники выложат код, а остальные выскажутся

Страница 325 из 4042