SlideShare a Scribd company logo
ИСПОЛЬЗОВАНИЕ БОТОВ
для автоматизации процесса
доставки еды
Асадов Ахмед
Backend Developer at Mad
Devs
Какую проблему
я должен был решить
Это отвлекало всех от
работы, и к тому же
добавляло лишних забот
тому сотруднику, который
должен это контролировать.
В компании, в которой я
работаю, сотрудники
заказывают обеды через
сервис доставки еды
NambaFood.
Ответственный должен был не
только вручную открывать и
закрывать заказ, но и
напоминать каждому
сотруднику о том, что ему
необходимо не забыть
сделать заказ вовремя.
Изначально процесс заказа
не был автоматизирован, и
определенному сотруднику
приходилось ежедневно
выполнять рутинные
действия по контролю
заказов.
Принцип работы бота
• Открытие заказа – 8:00c
• Напоминание о закрытии заказа – 10:55
• Закрытие заказа – 11:00
Что нужно, чтобы
начать?
Иметь базовые знания
Python
Это и так очевидно)
Знание библиотеки Requests для
работы с HTTP-запросами
API документация
Для того, чтобы ваш бот мог
взаимодействовать с каким-
либо сервисом, необходимо
будет читать и понимать
документацию.
С какими проблемами
я столкнулся?
Безопасность
Безопасное хранение API токенов -
нельзя держать токен от сторонних сервисов таких, как Slack
или Telegram у себя в коде. Токен следует хранить в
переменных окружениях используя библиотеку os (os.environ)
Несовпадение таймзон
Если вы используете
бота, который должен
работать по расписанию,
нужно удостовериться,
что везде настроена
одинаковая таймзона.
Решение
Сборщик мусора
Сборщик мусора не
срабатывал, потому что бот
постоянно был запущен
из-за библиотеки
schedule.
Из-за этого объекты
заказов никогда не
чистились.
Решение
0 1 * * 1-6 root docker restart nambafoodbot
>> /tmp/food-bot.log 2>&1
Логи (они у нас есть)
requests
pyTelegramBotAPI
slackclient
schedule
responses
coverage
Gitlab-CI docker-compose
CRON
Используемые
технологии
Telegram
Slack
NambaFood
Спасибо за внимание!
Асадов Ахмед
telegram: @Zoxon470
e-mail: zoxon470@gmail.com

More Related Content

Similar to Использование ботов для автоматизации процесса доставки еды

aheadWorks - Петр Самойлов
aheadWorks - Петр СамойловaheadWorks - Петр Самойлов
aheadWorks - Петр Самойлов
meet_magento
 
Meet magento russia 2013 by Peter Samoilov and Andrei Ivanov
Meet magento russia 2013 by Peter Samoilov and Andrei IvanovMeet magento russia 2013 by Peter Samoilov and Andrei Ivanov
Meet magento russia 2013 by Peter Samoilov and Andrei Ivanov
Peter Samoilov
 
Кейс формирование счета клиенту
Кейс формирование счета клиентуКейс формирование счета клиенту
Кейс формирование счета клиенту
НФП
 
Panda - вебинар про Opencart для Myopencart
Panda - вебинар про Opencart для MyopencartPanda - вебинар про Opencart для Myopencart
Panda - вебинар про Opencart для Myopencart
panda-code
 
как и чем живет портал обучения в первый год жизни
как и чем живет портал обучения в первый год жизникак и чем живет портал обучения в первый год жизни
как и чем живет портал обучения в первый год жизниWebSoft
 
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
SQALab
 
Роботизация функций - разбор первичной финансовой документации
Роботизация функций - разбор первичной финансовой документацииРоботизация функций - разбор первичной финансовой документации
Роботизация функций - разбор первичной финансовой документации
НФП
 
Преимущества мониторинга времени работы на компьютере
Преимущества мониторинга времени работы на компьютере Преимущества мониторинга времени работы на компьютере
Преимущества мониторинга времени работы на компьютере
Yaware
 
Юрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услугаЮрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услуга
SQADays_2009_Piter
 
CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...
CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...
CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...CodeFest
 
Automation Overview
Automation OverviewAutomation Overview
Automation OverviewKiraKeiss
 

Similar to Использование ботов для автоматизации процесса доставки еды (11)

aheadWorks - Петр Самойлов
aheadWorks - Петр СамойловaheadWorks - Петр Самойлов
aheadWorks - Петр Самойлов
 
Meet magento russia 2013 by Peter Samoilov and Andrei Ivanov
Meet magento russia 2013 by Peter Samoilov and Andrei IvanovMeet magento russia 2013 by Peter Samoilov and Andrei Ivanov
Meet magento russia 2013 by Peter Samoilov and Andrei Ivanov
 
Кейс формирование счета клиенту
Кейс формирование счета клиентуКейс формирование счета клиенту
Кейс формирование счета клиенту
 
Panda - вебинар про Opencart для Myopencart
Panda - вебинар про Opencart для MyopencartPanda - вебинар про Opencart для Myopencart
Panda - вебинар про Opencart для Myopencart
 
как и чем живет портал обучения в первый год жизни
как и чем живет портал обучения в первый год жизникак и чем живет портал обучения в первый год жизни
как и чем живет портал обучения в первый год жизни
 
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикадКонцепция QaAPI: взгляд на тестирование с другой стороны баррикад
Концепция QaAPI: взгляд на тестирование с другой стороны баррикад
 
Роботизация функций - разбор первичной финансовой документации
Роботизация функций - разбор первичной финансовой документацииРоботизация функций - разбор первичной финансовой документации
Роботизация функций - разбор первичной финансовой документации
 
Преимущества мониторинга времени работы на компьютере
Преимущества мониторинга времени работы на компьютере Преимущества мониторинга времени работы на компьютере
Преимущества мониторинга времени работы на компьютере
 
Юрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услугаЮрий Цыганенко, QA как услуга
Юрий Цыганенко, QA как услуга
 
CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...
CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...
CodeFest 2011. Сидоров А. — Почему некоторые программисты любят изобретать «в...
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 

More from Mad Devs

Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Mad Devs
 
Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество
Mad Devs
 
Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101. Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101.
Mad Devs
 
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Devs
 
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy FedorenkoMad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Devs
 
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Devs
 
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий КононенкоMaв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Mad Devs
 
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия КононенкоЛайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
Mad Devs
 
Mad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrainMad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrain
Mad Devs
 
Flutter vs Native App Development
Flutter vs Native App DevelopmentFlutter vs Native App Development
Flutter vs Native App Development
Mad Devs
 
Mad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companiesMad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companies
Mad Devs
 
The paradox of choice in design
The paradox of choice in designThe paradox of choice in design
The paradox of choice in design
Mad Devs
 
Git and Github for Beginners
Git and Github for Beginners Git and Github for Beginners
Git and Github for Beginners
Mad Devs
 
How to hire freelancers
How to hire freelancersHow to hire freelancers
How to hire freelancers
Mad Devs
 
Ethereum blockchain
Ethereum blockchainEthereum blockchain
Ethereum blockchain
Mad Devs
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
Mad Devs
 
Asynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use itAsynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use it
Mad Devs
 
Ethereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактовEthereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактов
Mad Devs
 
Why we sleep. Michael Ivashenko
Why we sleep. Michael IvashenkoWhy we sleep. Michael Ivashenko
Why we sleep. Michael Ivashenko
Mad Devs
 
Удаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитикаУдаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитика
Mad Devs
 

More from Mad Devs (20)

Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам инте...
 
Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество Дружелюбнй онбординг: как с увеличением количества не потерять качество
Дружелюбнй онбординг: как с увеличением количества не потерять качество
 
Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101. Mad Stream: Software Architecture 101.
Mad Stream: Software Architecture 101.
 
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
Mad Stream: Соло-прокачка мобильного разработчика. Спикер - Айбек Ногоев.
 
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy FedorenkoMad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
 
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
 
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий КононенкоMaв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
 
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия КононенкоЛайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
 
Mad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrainMad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrain
 
Flutter vs Native App Development
Flutter vs Native App DevelopmentFlutter vs Native App Development
Flutter vs Native App Development
 
Mad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companiesMad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companies
 
The paradox of choice in design
The paradox of choice in designThe paradox of choice in design
The paradox of choice in design
 
Git and Github for Beginners
Git and Github for Beginners Git and Github for Beginners
Git and Github for Beginners
 
How to hire freelancers
How to hire freelancersHow to hire freelancers
How to hire freelancers
 
Ethereum blockchain
Ethereum blockchainEthereum blockchain
Ethereum blockchain
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
 
Asynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use itAsynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use it
 
Ethereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактовEthereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактов
 
Why we sleep. Michael Ivashenko
Why we sleep. Michael IvashenkoWhy we sleep. Michael Ivashenko
Why we sleep. Michael Ivashenko
 
Удаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитикаУдаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитика
 

Использование ботов для автоматизации процесса доставки еды