BotValley - разработка ботов – Telegram
BotValley - разработка ботов
7.35K subscribers
18 photos
1 video
111 links
Разработка ботов любой степени извращенности - @lvadislav, @justdii

Сайт - bots.tg
Download Telegram
👁 Вакансия! Разработчик ботов!

Мы сейчас активно развиваемся и потому ищем толкового программиста (разработчика ботов Telegram) уровня Junior в нашу команду @BotValley.

Обязанности:
- разработка ботов и различных прикладных скриптов.
- перенос и запуск разработанных ботов на сервер.
- анализ различных API и сторонних сервисов.

Требования:
- знание Python, Django (для админок).
- опыт работы с Telegram Bot API (через любую библиотеку).
- опыт работы со сторонними API.
- опыт работы с Linux.

Будет плюсом:
- опыт работы с Pyrogram/Telethon.
- опыт работы с API платежных систем.
- опыт переноса Django-проектов на сервер.

Условия:
- работа Full-time с Понедельника по Пятницу.
- стабильная оплата труда.
- работа удаленная, с любой точки мира.

Тестовое задание:
https://telegra.ph/Testovoe-zadanie-BotValley-07-26

Если тебе интересно наше предложение, то бегом выполняй тестовое (рассчитано на пару часов работы) и скидывай результат работы нашему менеджеру @manager_BotValley! Заявки принимаем в течение этой рабочей недели.

UPD: Прием заявок окончен. Вакансия уже неактуальна!
✏️ Боты-менеджеры.
- сэкономят вам время.

Все чаще к нам обращаются разные компании с заявкой на разработку ботов-помощников для рутинных операций. Они действуют по несложному заложенному алгоритму и помогают оптимизировать такие процессы, как:

• Анкетирование.

По аналогии с Google формами, бот может задать юзеру серию вопросов, а затем сгруппировать и отправить ответы админу. Бот умеет отправлять вопросы любого формата и проверять введенные значения на соответствие какому-то шаблону.

• Запись на прием.

Бот выведет список доступных дат и временных промежутков для записи, автоматически спросит нужные данные и синхронизирует запись с другими вашими системами. Идеально подойдет для шиномонтажек, стоматологий и т.д.

• Поддержка.

Бот встретит пользователя серией заготовленных ответов на вопросы (FAQ), а в случае непонятки подключит оператора. Такой же принцип, по которому сейчас работают колл-центры банков и интернет-провайдеров, только проще и удобнее!

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
💬 Вопросы про админку.

К любому Телеграм-боту, которого у нас заказывают, мы всегда делаем удобную веб-панель (админку) для управления умным помощником. Сегодня постараемся ответить на самые частые вопросы про эту админку, которые задают наши клиенты. Поехали!

• Как админка выглядит?

Максимально приятно и минималистично! Собрали нарезку скриншотов реализованных нами админок для примера: telegra.ph/Skrinshoty-adminki-08-09-2

• Какой доступен функционал?

По умолчанию, мы выводим в админке список юзеров бота, раздел редактирования текстов и всего остального наполнения. По запросу, можем реализовать раздел отправки сообщений, логи, статистику и любой другой нужный вам функционал.

• На каком языке админка?

По умолчанию, админку делаем полностью на русском, но по запросу можем перевести ее на любой нужный вам язык (например, английский).

• Можно сделать несколько админов?

Да, при необходимости мы делаем возможность создания неограниченного числа админов, каждый со своим логином, паролем и своими правами доступа.

Как видите, для управления ботом не нужно обладать никакими специальными знаниями! Нужно лишь описать нам желаемый функционал, а мы все реализуем на высшем уровне.

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
📰 Новости нашей команды.

Мы никогда не стоим на месте, в @BotValley постоянно что-то происходит и меняется. Собрали все наши новости за последнее время в один пост. Поехали:

— Наша команда пополнилась новыми крутыми ребятами! Увеличиваем нашу мощь и количество одновременных заказов в работе.

— Мы купили @YouAudioBot (370к юзеров). Будем его дорабатывать и развивать! Кстати, если вас интересует реклама в наших ботах, обращайтесь к @lvadislav.

— Мы сменили регистрацию, теперь можем официально работать с любыми иностранными физ. и юр. лицами.

— Мы запустили лендинг bots.tg для привлечения заказов и мощную рекламную компанию в Google Ads.

— Мы запустили английскую версию канала - @BotValley_eng, постепенно наполняем ее переведенными постами и планируем рекламироваться на США.
#portfolio

✉️ @FeedyRobot - новый проект от нашей команды!

Бот поможет организовать все ваши подписки в одну ленту. Просто добавляете в него нужные каналы, а он будет их автоматически отслеживать и присылать все новые посты.

Просто, понятно и минималистично! Без танцев с бубнами и сложных настроек. А для самых активных пользователей есть реферальная программа с очень выгодными условиями)

Это тестовая версия бота (MVP), поэтому мы будем вам благодарны за любые отзывы, найденные баги или пожелания - просим сразу писать @FeedySupport
#portfolio
🐪 Evroasia Transport Bot - бот для почтовой службы

Сегодня расскажем вам об одном интересном кейсе в нашем портфолио - боте для компании Evroasia Transport, которая занимается грузовыми и почтовыми перевозками.

Что бот умеет?

Основной функционал бота - создание заявки на отправку посылки. Бот спрашивает все необходимые данные, проверяя введенный текст на корректность, а затем присваивает посылке уникальный трек-код для отслеживания.

Кроме этого, бот расскажет всю информацию о компании, выведет список филиалов с геоточками, контакты, прайс-лист, а по присланному трек-коду покажет всю актуальную информацию о посылке! Скриншоты работы бота можно посмотреть по ссылке.

Как видно, один бот может значительно упростить работу компании, сэкономить кучу времени и ресурсов. А еще он работает 24/7, без задержек и перерывов!

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
🥊 Почему именно Telegram?

Не секрет, что мы беремся за любые по сложности проекты, но основной упор делаем конкретно на ботов, конкретно в Telegram. Чем обусловлен наш выбор? Почему не VK, не Viber и не WhatsApp? Почему не все сразу? Сегодня расскажем!

• Дружественный API.

Среди всех мессенджеров, под которые мы пробовали делать ботов, Bot API от Telegram нам нравится больше всего! Простой и понятный интерфейс, без танцев с бубнами и существенных ограничений, полная свобода действий.

• Перспективы.

Telegram растет и развивается каждый день, и это чувствуется. Постоянные обновления, постоянный приток новых юзеров, админов и крутых проектов. Согласитесь, работать в такой среде довольно приятно.

• Оттачиваем мастерство.

Мы выбрали одну конкретную узкую сферу - боты Telegram и максимально ее изучаем, совершенствуя свои навыки и качество разрабатываемых продуктов. За 3 года опыта мы уже столкнулись со всеми возможными подводными камнями и хорошо понимаем возможности ботов.

«Я не боюсь того, кто изучает 10 000 различных ударов. Я боюсь того, кто изучает один удар 10 000 раз.»

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
🍀 Обзор платежки LiqPay.
- продолжение t.me/BotValley/134

Запускаем новую рубрику на канале! В каждой статье будем брать 1 популярную платежку для ботов и максимально подробно ее обозревать. Поехали:

LiqPay - украинская платежная система, дочерняя компания ПриватБанка. Позволяет принимать платежи несколькими способами (основное - банковскими картами), довольно часто используется на многих украинских сайтах и Телеграм-ботах.

• Плюсы.

Нативная интеграция с Telegram через @BotFather + Bot API, прием банковских карт практически со всего мира (за исключением списка рисковых стран), низкая комиссия за прием платежей - 2.75%, удобный и понятный API.

• Минусы.

Главный минус всего один - запутанная и непродуманная процедура подключения ботов. Расскажем на своем примере.

Для недавнего подключения одного из ботов с нас потребовали: создать счет ФОП в ПриватБанке (другие не принимаются), заказать у юристов договор оферты, полностью реализовать взаимодействие с их API, после чего мы получили отказ в подключении по размытой причине, относящейся практически к любому боту.

Есть кратко, то их специалисты требуют от вас доказательства выполнения всех пунктов (о каждом из которых вы узнаете после неудачной активации), и только после этого первый раз (!!!) запускают бота и выносят решение. Абсурд и полное неуважение вашего времени.

• Вердикт
.

Платежку рекомендуем подключать только в случае крайней необходимости. Если вы готовы потратить кучу времени и ресурсов, получив отказ по итогу. Наше личное мнение - лучше присмотреться к конкурентам, которые мы будем обозревать в следующих статьях)

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
#portfolio
💰 Onion Market - P2P обменник BTC

Сегодня расскажем вам об одной из последних наших работ на заказ! Крутой обменник для сети топовых Telegram-каналов.

• Что он умеет?

Основное направление бота - P2P торговля между юзерами. Каждый пользователь бота может завести BTC на прощадку и создать свое объявление о продаже/покупке, или просмотреть список объявлений других пользователей и откликнуться на подходящее по условиям.

Кроме этого, бот может вам продать BTC за USDT в полностью автоматическом режиме благодаря интеграции с блокчейнами BTC и USDT (Omni, TRC20, BEP20).

• Как он монетизируется?

Все просто - бот берет свою небольшую комиссию с каждого обмена. Частью этой комиссии он делится с юзерами путем выгодной реферальной программы. Благодаря этому, любой пользователь может советовать бота друзьям и зарабатывать с их обменов!

Заказчик: Chipollino Onion Club

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
🚗 Защита ботов.
- продолжение t.me/BotValley/72

Любой бот, выполняющий затратные по времени или деньгам операции, рано или поздно сталкивается с проблемами: резкий наплыв юзеров, атака недоброжелателей. Все это может положить вашего бота или исчерпать все ресурсы. Как от этого защититься? Сегодня расскажем!

• Лимиты на действия.

Простое интуитивное решение - запрещаем юзеру делать более N действий за T секунд. Конкретные значения N и T определяются на практике для вашего бота, мы делаем их изменяемыми в админке. После превышения лимита, выводим сообщение с ошибкой.

Пример: в нашем боте @ShipRobot стоит ограничение на отслеживание 5 посылок (N) за 24 часа (T) для каждого юзера.

• Проверка юзеров.

Для всех новых пользователей можно добавить какую-то проверку при запуске бота. Это может быть капча / решение примера / верификация по СМС или почте / обязательная подписка на канал - все, что пожелаете. Главное не спугнуть юзеров слишком сложной проверкой.

• Создание очереди.

Для затратных операций мы рекомендуем создать глобальную очередь и какой-то отдельный скрипт, который будет брать задачи из очереди по 1, выполняя их последовательно. Некоторым пользователям придется подождать свой результат, но зато это позволит нормализовать использование ресурсов.

При заказе бота у нас, можете быть уверены, что мы учтем все варианты защиты, обезопасив ваши ресурсы и бота!

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
🐧 Итоги 2021 года!

Мы решили не ждать и самыми первыми подвести итоги года, немного заранее) Итак, за 21 год мы:

- разработали 45 ботов на заказ,
- запустили сайт и несколько собственных проектов,
- зарегистрировали бизнес и сняли офис,
- расширили команду программистов.


Кроме этого, наши личные боты выросли на 210к юзеров - по 570 человек в день! Ниже приводим несколько из них:

@MotherSearchBot - первый поисковик в Telegram, аналог Google. Поможет найти нужный канал, текст, аудио или документ. (174к юзеров, 3.5млн поисков)

@MotherMoviesBot - незаменимый помощник для киноманов! Оцениваете фильмы, которые уже видели, а бот подберет новые картины. (55к юзеров, 3.3млн оценок)

@ShipRobot - бот для отслеживания посылок. Выдает маршрут и статус отправления практически любой почтовой службы по его трек-коду. (10к юзеров, 32к посылок)

@YouAudioBot - бот позволяет слушать музыку из ВК без ограничений! Есть разделы популярного и новинок, привязка своей страницы ВК. (399к юзеров, 4.9млн прослушиваний)
⌨️ Про reply-клавиатуры.

Давайте поговорим при нижние (reply) клавиатуры ботов. На первый взгляд кажется, что это очень простая и понятная вещь, но в реальности reply-клавиатуры часто вызывают проблемы у разработчиков и пользователей. Сегодня постараемся рассмотреть все основные подводные камни нижних клавиатур, поехали:

• Пропадание клавиатуры.

Каждая reply-клавиатура крепится к какому-то сообщению. Если это сообщение удалится или будет слишком далеко в истории переписки, клавиатура перестанет отображаться. Мы учитываем это поведение и по возможности повторно присылаем клавиатуру везде, где это нужно.

Кроме этого, reply-клавиатура может свернуться в маленькую кнопку (как на скрине снизу), на которую нужно нажать для того, чтобы клавиатура опять отобразилась. Часть пользователей это заводит в тупик, поэтому многие боты предупреждают о такой ситуации заранее.

• Параметр resize_keyboard.

При создании клавиатуры, в Bot API есть опциональный параметр resize_keyboard. Если его не передать, то кнопки станут огромного размера, занимая все доступное место. Мы рекомендуем передавать этот параметр со значением True, чтобы кнопки выглядели везде одинаково и аккуратно.

• Параметр one_time_keyboard.

Этот параметр нужен для того, чтобы скрыть клавиатуру сразу при нажатии на нее. К сожалению, этот функционал не везде работает корректно, иногда оставляя клавиатуру для повторного использования. Мы рекомендуем использовать ReplyKeyboardRemove для 100%-ного удаления клавиатуры.

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
👩🏻‍💼 Этапы разработки бота.

Сегодня осветим фундаментальный вопрос, который волнует всех наших будущих клиентов, а именно - как происходит заказ бота, от начала и до конца. Постарались разложить все по полочкам:

1. Обсуждение функционала.

Первым делом мы максимально подробно обсуждаем функционал бота в переписке с клиентом и, если нужно, составляем ТЗ. Затем оцениваем проект всей командой и в случае достижения согласия с клиентом - приступаем к работе!

2. Сама разработка.

Если проект небольшой, мы делаем его сразу полностью, тестируем и скидываем клиенту на проверку. Если проект крупный, мы разбиваем работу и оплату на несколько частей (обычно 2 или 3) с промежуточными версиями, с каждой из которых клиент может ознакомиться и внести свои пожелания или правки.

3. Перенос на сервер.

По окончанию разработки, мы скидываем клиенту краткую инструкцию с перечнем данных, которые нужны для переноса. В большинстве случаев достаточно сервера за $5 в месяц, домена (или мы бесплатно предоставляем свой) и токена бота. Перенос занимает около 1 рабочего дня, после чего клиент становится полноправным владельцем бота.

Как видите, ничего в этом сложного нет) Все процессы в нашей команде давно налажены и отточены, от клиента требуется только необходимый минимум, а все технические моменты мы берем на себя.

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
#portfolio
🎨 @BrushRobot - новый проект от нашей команды!

Настоящий бот-художник! Быстро преобразует любую присланную ему фотографию в известные стили: аниме, Ван Гог, мозаика Гауди, Клод Моне.

Бот использует обученные нейронки и мощный сервер для достижения хорошего качества. Кроме этого, бот позволяет загрузить собственный пример стиля для преображений.


Это тестовая версия бота (MVP), поэтому мы будем вам благодарны за любые отзывы, найденные баги или пожелания - запускайте @BrushRobot
🍕 Про Web Apps.

Безусловно, сейчас все обсуждают последнее обновление Telegram Bot API, в котором были добавлены Web Apps - кастомные страницы, которые открываются прямо внутри переписки с ботами!

Нам начало поступать множество вопросов от клиентов касательно этой новой фичи, поэтому мы решили подробно пройтись по документации API и разложить все по полочкам. Поехали:

1. Как отобразить пользователю Web App?

Сейчас доступно 3 способа: по нажатию на reply-кнопку, по нажатию на inline-кнопку, по нажатию на кнопку «Меню» внутри бота (за которой раньше скрывался список команд). Во всех способах пользователю открывается указанный вами URL по HTTPS, поэтому вам нужно иметь собственный веб-сервер с SSL-сертификатом для отображения страниц.

2. Как боты общаются с Web Apps?

Это происходит через специальный объект Telegram.WebApp, который вы можете использовать с помощью JavaScript внутри своей кастомной страницы. Кроме этого, никто не запрещает передавать в URL открытия Web App'а нужные вам параметры для получения информации о юзере.

3. Как сделать интерфейс для Web App?

Доступны все возможности HTML, CSS и JavaScript, без каких-либо ограничений (по крайней мере, они не описаны в документации). Важно понимать, что у всех пользователей разные размеры экрана и цветовые настройки, поэтому при разработке Web App нужно учитывать множество вариантов, благо Telegram с этим помогает.

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
#portfolio
🏞 @SaveTargetBot - универсальный загрузчик

Сегодня хотим вам рассказать про одну из наших работ на заказ - бот для загрузки контента (фото, видео, текст) из популярных социальных сетей.

• Что он умеет?

Бот умеет скачивать медиа с Instagram, Pinterest и TikTok. Для каждой социальной сети мы с клиентом перепробовали несколько способов парсинга, остановившись на самых быстрых и стабильных.

Бот работает на нескольких языках и собирает базовую информацию о пользователях: страна, пол, возраст. Еще бота можно добавить в любую группу и получать медиа всех присланных ссылок в автоматическом режиме.

• Как он монетизируется?

Для скачивания медиа, бот просит пользователей подписаться на канал создателя. Кроме этого, в боте реализованы спонсорские сообщения и возможность проведения рассылок по всем пользователям + группам. По поводу рекламы можете обращаться к заказчику бота.

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
#portfolio
📊 Про анализ пути пользователя.

Сегодня расскажем про нашу систему для сбора и анализа статистики в ботах. Она интересна тем, что начиналась как обычная дипломная работа, но в итоге развилась и нашла свое применение в наших личных проектах!

• Как она работает?

Все очень просто: система с помощью собственного API собирает все пользовательские действия в подключенных ботах (запуск бота, нажатие кнопки и т.д.), а затем выводит собранные данные в виде красивых графиков и диаграмм.

• Какие данные выводятся?

Система отображает графики количества и прироста пользователей, графики количества разных действий по дням, и, самое главное - диаграммы связок (как часто пользователи совершают действие X сразу после действия Y).

Этой информации более чем достаточно для полного анализа пользовательского пути - какие разделы интересуют юзеров больше всего, после каких действий они перестают пользоваться ботом и так далее. Фактически мы получаем аналог Google Analytics, но для Telegram-ботов!

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
#portfolio
Подборка простых работ.

Далеко не все боты, которые у нас заказывают, состоят из тысяч строк и десятков разделов. Многие проекты - довольно небольшие, выполняют всего одну основную функцию. Сегодня расскажем о нескольких таких наших работах:


📈 @btcbizon - бот, который отслеживает курс BTC и автоматически постит изменение на канал при росте или падении на $500. Курс выводится числом и картинкой, для наглядности.

🎞 @filmy_smotret_bot - классический бот, который проверяет подписку на каналы создателя, а затем выдает скрытую информацию. Мы все с таким сталкивались)

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
💸 Про прием криптовалют в ботах.
- продолжение t.me/BotValley/142

Несмотря на колебания курсов, криптовалюты в Телеграме набирают популярность. Нам все чаще поступают заказы на ботов, в которых нужно реализовать прием оплаты в крипте. Мы перепробовали для этого много сервисов и сегодня хотим рассказать про 3 основных, достойных внимания:

1. Кошелек CoinPayments.

Самый старый и известный сервис. Поддерживает прием и отправку огромного числа криптовалют, комиссия за прием единая - 0.5%. Из минусов: сложный API, иногда оповещения о платежах приходят с большой задержкой, сложный и дорогой вывод токенов (например USDT).

2. Кошелек WestWallet.

Малопопулярный и очень крутой сервис. Криптовалют немного, но работает все быстро и удобно, поддерживается автоматическая конвертация валют в USDT при приеме или отправке. Минусы: есть AML-проверка входящих транзакций и много скрытых неочевидных комиссий, на круг может получаться до 2%.

3. Биржа WhiteBIT.

Пожалуй, самый удобный сервис. Фактически это биржа с возможностью неограниченной генерации адресов для пополнения. Процентных комиссий за прием и отправку нет. Комиссия за конвертацию - всего 0.1%. Минусы: наличие AML-проверки и запрет на использование в некоторых странах.

На самом деле, достойных сервисов намного больше и если вам нужно подключить какой-то конкретный - пишите нам, мы без проблем разберемся с API.

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Про безопасность inline-кнопок.
- пригодится всем.

Inline-кнопками в ботах Телеграм называются кнопки, которые крепятся к сообщению снизу. Они могут выполнять разные функции: от перехода по ссылке до открытия Web App. Сегодня мы расскажем про их основное применение - выполнение действия в боте с помощью передачи callback_data.

Работает это так: бот передает в кнопку строку до 64 символов (callback_data), далее пользователь нажимает на кнопку и на сервер бота приходит этот callback_data обратно, отталкиваясь от которого бот выполняет нужное действие.

Кажется, что схема довольно простая, но за ней скрывается одна незаметная уязвимость - пользователи могут просматривать callback_data. Это легко сделать с помощью специальных клиентов или через API и это открывает огромное пространство для уязвимостей когда в callback_data передается важная секретная информация.


🔐 Как от этого защититься? Мы рекомендуем 3 способа:

1. Тщательно проверять и фильтровать всю информацию, которая передается в callback_data. Не передавать туда никаких ключей, токенов и вообще никакой информации, которая поможет злоумышленнику разобраться во внутренностях бота.

2. Шифрование. Принцип простой: шифруем callback_data перед передачей пользователю и расшифровываем при получении обратно. Тут важно учесть чтобы зашифрованная строка вмещалась в 64 байта (ограничение Телеграм).

3. Передаем вместо callback_data случайную строку, для которой в базе бота сохраняем соответствующий callback_data. При получении этой случайной строки ищем в базе исходный callback_data и выполняем нужное действие. На наш взгляд, это лучший вариант.

Остались вопросы? Или есть идея?
Обращайся - @lvadislav, @justdii
#portfolio
🔑 @ProxiesRobot - новый проект от нашей команды!

Сделали на досуге простенького бота, который собирает сотни прокси-серверов из открытых источников и выдает их поштучно бесплатно, без каких-либо ограничений.

Бот отлично подойдет для парсинга и подобных кодерских задач. Доступно 4 типа прокси: HTTP, HTTPS, SOCKS4, SOCKS5. Больше всего в боте прокси вида SOCKS4.

@ProxiesRobot