Комментарии 22
После, в терминале Linux, или командной строке Windows вводим
pip install pytelegrambotapi
ИМХО было бы не плохо, не устанавливать пакет(ы) глобально, а рассказать, что для таких целей лучше использовать virtualenv или pypenv
Вообще, у меня, простите, бомбануло. Обоснуйте, пожалуйста, подробнее почему вы думаете, что контейнеризация в этом проекте не уместна?
А здесь нет никакого выигрыша, кроме времени установки. Контейнер будет отжирать всяко больше, чем голый интерпретатор, которому хватит и virtualenv. И всё ради чего? Чтобы модным «девопсам» было проще запустить пятистрочник?
если у вас есть деньги и время на время девопса, вы будете смотреть в виртуаленв, а если у вас нет времени, а есть деньги — то вы (не сразу, пару раз протормозите, но жизнь намекнет) вы потратите на докер\вируалку\что угодно, что масштабируется быстрее чем люди.
Коллега vassabi в соседнем комментарии прав, не знаю кто влепил ему минус за вполне разумную точку зрения.
С другой стороны, не очень понятен ваш экспрессивно негативный тон отзыва о докере и его применимости в данном случае. Невольно читается какое-то предвзятое отношение.
Питон, конечно, старается быть на всех платформах одинаковым, и у него немножко это даже местами получается, но унификация, прсотота и изоляция докера перевешивает. Кстати, запускать какой-то чужой код, пусть даже бегло просмотренный ввиду своих невеликих размеров, спокойнее в изолированной среде отдельного контейнера, а не на сервере, где грутится помимо всего прочего много полезных и нужных вещей вроде сайта (тоже в контейнерах) и прочих более важных сервисов, чем какой-то чат-бот.
Некропостинга коммент) Удивлен, что в этой эпической зарубе никто не вспомнил о такой базовой функциональности pip как requirements.txt
И да, я тоже не могу понять нахрена тут докер, и о каком девопсе в "telegram helloworld" пишет чел ниже выше
interval=0 — крутовато, конечно. Тогда уже надо реализовавать вебхук
Каждый первый вопрос на профильных форумах, у меня бот на питон (telebot), как мне «изменить/добавить» и дальше простенький вопрос не выходящий за рамки документации Bot-API телеги. А человек уже в тупике.
API простейшее, зачем хаутушки делать с определенным враппером? По-правильному ботовод должен знать API, а как POST-запросы слать или какую обёртку использовать, дело совсем уже десятое.
Очередное описание телебота получилось, а не подход к построению бот-фермы. Где сохранение состояния, где подход к расширению функциональности?
Частично по теме — что сейчас с ботами в свете блокировок? Есть бесплатный и безболезненный способ обойти РКН?
Зато обратная ситуация (забытый global, когда он нужен) — одна из самых коварных фишек питона для новичков.
Для текущего проекта с ботом выбрал aiogram: там и асинхронщина, и конечные автоматы, и ещё много чего
Вижу: глобальные переменные, ловим Exception, форматирование через конкатенацию. Это же читают новички, не надо так!
Кстати, вы делаете register_next_step_handler
, стоит отметить что при перезапуске бота по дефолту все такие хэндлеры слетают. А сохранять эта штука умеет только в pickle, что как бы тоже не очень.
Простой Telegram-бот на Python за 30 минут