Если вы в 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: *полужирный* _курсив_ [ссылка](http://www.example.com/) `строчный моноширинный` ```text блочный моноширинный (можно писать код) ``` HTML:

Continue reading

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

Continue reading

Парсинг JSON - одна из наиболее частых задач: в JSON приходят данные в REST API, конфигурационные файлы часто оформляются в виде JSON и пр. Go предоставляют довольно удобные механизмы для этих целей расположенные в пакете "encoding/json" включающий в себя необходимые методы. Преобразование в JSON Преобразование простых типов (bool, string, int) boolVar, _ := json.Marshal(true) fmt.Println(string(boolVar)) // true intVar, _ := json.Marshal(1) fmt.Println(string(intVar)) // 1 fltVar, _ := json.Marshal(2.34) fmt.Println(string(fltVar)) // 2.

Continue reading

Если на вашем счету уже есть не одно разработанное приложение, использующее REST API или сами создавали REST API, то наверняка слышали о Postman. В этой заметке хочу показать на нескольких примерах основную функциональность этого приложения для остальных - тех, кто еще только начинает заниматься подобными проектами. Введение Создавали ли вы REST API? Или приложения, которые используют некий сторонний REST API? Если вы ответили утвердительно хотя бы на один из этих вопросов, то вы поймёте мою боль.

Continue reading

Author's picture

feeeper

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

Software developer

Russia