В продолжение темы про конфигурационные файлы, остановлюсь на формате .INI. .INI - формат конфигурационных файлов, применяемый, в основном в ОС Windows. Тем не менее, ничто не мешает его использовать и в других окружениях. Данный формат значительно проще, чем рассмотренные ранее TOML и YAML, но в некоторых (на самом деле большинстве, как мне кажется) случаях, его возможностей может оказаться достаточно. Синтаксис INI файлы имеют понятный синтаксис и имеют простой для чтения и изменения человеком формат.
Continue reading

В продолжение темы про конфигурационные файлы, взглянем на более распространённый формат YAML. YAML (YAML Ain’t Markup Language) - это надмножество над JSON с упрощенным синтаксисом. Синтаксис Основные типы Аналогично TOML, про который я писал ранее, в YAML можно использовать различные типы данных: # Комментарии начинаются со знака "#" # Пары ключ-значение разделяются через ":" # Строки, как значения, могут быть заключены в кавычки (одинарные, двойные), # но не обязаны key: значение another_key: еще одно значение # Числа можно использовать в экспоненциальной форме a_number_value: 100 scientific_notation: 1e+12 # Логические значения требуется записывать как true или false.
Continue reading

Если вы в IT более 15 минут, то должны знать, что практически каждая программа зависит от некоторых внешних переменных. Например, как я писал в статье про разработку бота для Telegram, к ним можно отнести API- ключи внешних сервисов, используемых в вашем приложении; строки подключения к базе данных; список RSS-лент; список e-mail для каких-либо уведомлений и прочее. Самый простой способ - прописать эти переменные явно в коде, но в этом случае есть недостатки:
Continue reading

После того, как бот был написан, прокачан и опубликован (на vscale или на heroku, например) возникает вопрос отслеживания того, как пользователи с ним общаются. Для этих целей можно воспользоваться, например, решением botan.io от Yandex. Botan - обёртка над AppMetric - версии Метрики для мобильных приложений. Платформа позволяет собирать большинство событий бота и отображать их в панели Метрики (со всеми доступными отчётами). Сейчас ботан умеет работать только с ботами для Telegram, но мне этого вполне достаточно.
Continue reading

В предыдущих частях был разработан и улучшен бот, помогающий найти заклинания для Dungeon and Dragons. Теперь требуется разместить бота на какой-либо платформе. Рассмотрим два варианта: vscale.ru и heroku. vscale.ru Плюсы Простота развёртывания для новичка Отдельный VDS со всеми преимуществами (устанавливай всё, что требуется) Удобная панель для управления Минимальный сервер - 200 рублей в месяц Реферальная программа (при регистрации по реферальной ссылке вам на счёт упадёт 400 рублей) Документация на русском Минусы Платный (от 200 рублей в месяц (на текущий момент)) Отдельный VDS со всеми недостатками (самостоятельное администрирование) На сегодняшний день сервера доступны только в Москве и Санкт-Петербурге Развёртывание Надеюсь, проблем с регистрацией на vscale не возникнет и сразу перейду к главному - к публикации бота.
Continue reading

В предыдущей части был написан бот, который по заданному имени или части имени находит подходящие и показывает пользователю в отдельных сообщениях. В этот раз немного улучшим его: улучшим форматирование, добавим inline- режим и реализуем пару команд. Улучшаем форматирование Скажу сразу, что Telegram умеет в HTML и Markdown. Но, к сожалению, очень ограничено: если посмотреть документацию, то поддерживается только полужирное начертание, курсив, моноширинный шрифт и ссылки: Markdown: полужирный курсив ссылка строчный моноширинный text блочный моноширинный (можно писать код) HTML:
Continue reading

В этой серии заметок хотел бы немного коснуться данной темы. Серия будет включаться в себя три раздела: Разработка бота на Go для поиска заклинаний для Dungeon And Dragons Публикация бота на платформе heroku Добавление аналитики использования бота Итак, начнём! Во-первых, нам потребуется сам список заклинаний DnD. Найти его можете в моём bitbucket-репозитории этого бота. Во-вторых, создать новую папку. Например, dndspellsbot. В-третьих, получить ключ для вашего нового бота у служебного аккаунта @BotFatherBot, отправив ему команду /newbot и сохранить полученный в ответ токен в безопасное место.
Continue reading

Author's picture

feeeper

Разработчик enterprise-решений. В основном на .NET. В свободное время пишу на golang, python. Немного упарываюсь по ML/DS.

Software developer

Russia