Рецепт розробки бота під Telegram



Добрий день, шановні читачі Хабрахабра!

В цьому топіку я хочу поділитися з вами досвідом розробки бота під Telegram за 4 дні. Цей бот переводить всі голосові повідомлення, які отримує, в текст. Намагався зробити швидко, але якісно — підучив пару-трійку технологій. Постараюся максимально детально описати свій процес подолання помилок і перешкод; довести, що, навіть не маючи потрібних навичок, запустити свій продукт не так-то й складно.

Стаття може бути цікава як новачкам у програмуванні — побачити, скільки перешкод стоять на шляху у готового продукту, так і більш просунутим фахівцям — десь посміятись, десь поплакати, десь написати коментар «життєво».

Преамбула
І так, що ж може зробити один програміст за 4 дні?

Читати далі →

Створення каналу з автопостингом в Телеграме без єдиної рядки коду

Вступ
Попереджаю одразу: технічного у статті дуже мало. Це практично покрокова інструкція для не дуже сведующих в технічному плані користувачів. Для людей обізнаних (і тих, кому лінь читати багато тексту), наведу два посилання: Telegram Bots API + IFTTT Maker Channel.

Тепер детальніше. Думаю, всі чули про месенджер Telegram. Ймовірно, багато хто навіть не знають про нехитрий API для створення ботів в цьому месенджері. Крім того, не так давно в T з'явилася можливість створювати так звані «канали» (channels), спрощують миттєву розсилку повідомлень практично будь-якій кількості підписантів на канал осіб. Нарешті, сама свіжа новина: ботів стало можна додавати в якості адміністраторів в канали, тобто такі розсилки стало можна робити автоматизовано.

Думаю, не треба пояснювати, що це відкриває досить широкі можливості для різних сервісів. Наприклад, у мене досить швидко вдалося зробити наступне:
  • три канали (@RedditTop, @r_pics, @gone_wild — обережно, останній з «дорослим» контентом), які щогодини імпортують топові пости з Реддита (і двох його сабреддитов);
  • канал, робить те ж з постами з 9GAG;
  • і, нарешті, завів хитрого бота @JamesBot, який анонімно пересилає всі повідомлення, написані йому, в загальний канал (@secret_ru, @secret_en, @secret_es @secret_ar або @secret_fa — залежно від мови). Вийшов анонімний чат середнього ступеня трэшовости.
Вже після створення всіх цих ботів і каналів мені прийшло в голову, що найпростіший автоімпорт постів звідки-то «зовні» можна налагодити взагалі без всякого коду та хостингу — буквально хвилин за 5. На допомогу нам прийде чудовий сервіс IFTTT — If This Then That, має безліч інтеграції з соціальними мережами та іншими сервісами. Правда, на жаль, прямої інтеграції з Телеграмом у нього (поки що?) немає — зате є т. н. IFTTT Maker Channel, що дозволяє робити прості HTTP(S)-запити при спрацьовуванні тригера. На жаль, ми не зможемо приймати повідомлення, відправлені боту (вхідні запити IFTTT Maker може приймати, але, на жаль, тільки в строго визначеному форматі) — інтерактиву не вийде. Зате зможемо спрацьовуванні будь-якого події (наприклад, новий твіт або посаду в FB):
  • публікувати повідомлення в каналі,
  • відправляти повідомлення в заздалегідь вибраний чат (куди доданий наш бот),
  • відправляти повідомлення заздалегідь вказаною користувачеві (який додав собі бота).

Читати далі →

Як я зібрав скелет бота для замовлення таксі у Telegram

У день запуску ботів в Telegram я за 3 години зібрав бота, який надсилає температуру повітря у відповідь на геолокацію користувача. З того ж дня я марив викликом таксі через бота в Telegram, так як API служби таксі у мене був під рукою.

Моя мета – не просто розповісти, як я зібрав бота для виклику таксі, а поділитися цим процесом з іншими, щоб той час, який я витратив на реалізацію алгоритму не витрачали інші. Внаслідок цієї роботи будь-яка служба таксі, при наявності API, може за 5 хвилин налаштувати шаблон цього бота під себе. Або власник бота з великою кількістю користувачів зможе швидко підключати до себе службу таксі.

Читати далі →

Більярдний бот: історія створення

Привіт, хабрахабр!

Про що ця стаття?

Ця стаття присвячена докладному опису процесу створення биллиардного бота, який без участі людини грає в гру pool billiard і приймає рішення, заробляючи окуляри. Стаття буде корисна і цікава людям, які захоплюються створенням ботів і програмуванням.

Передмова

У всіх нас є улюблені ігри з видів спорту. Здорово, коли перше збігається з другим. Крім своїх захоплень спортом і спортивними проектами, я люблю також і деякі комп'ютерні ігри. Одна з моїх найулюбленіших ігор, і наживо, і віртуально — це, звичайно ж, більярд. Більярд, пул, снукер… як завгодно, — я люблю їх все! Я поділяю думку багатьох про те, що, наприклад, снукер — це «недискретные» шахи. Мало просто забивати послідовність певних куль в лузи, там ведеться ще й неймовірна стратегічна боротьба. Боротьба за снукеры, за позиції… а який фантастичною технікою мають професійні більярдісти — просто мовчу в ганчірочку.
Переваги цієї безсумнівно аристократичної гри можна перичислять дуже довго. Але перейдемо до суті статті. Моя найулюбленіша гра в більярд ось вже п'ять років і по сьогоднішній день — це «Pool Billiard» на Facebook. Вона класно зроблена не тільки естетично, але і технічно. Неозброєним оком видно класно написаний фізичний движок, продуманий геймплей, клієнт-серверна валідація дій, обробка помилок, дизайн, система статистики, магазин, чат в кінці кінців. Гру явно робили профі, так і вона в топах. У неї дуже приємно грати… і вигравати!
Я досить довго грав в неї, поки в голову не прийшла думка: «Ба! Так вона ідеально підходить для створення під неї ігрового бота!» Приємно вигравати, а вигравати своїм роботом, автоматично — подвійно! Вигравати у платних гравців, понакупивших систему навігації і підкручування битка, демонструючи їм фантастичні по техніці і красі удари, залишаючи їх з відвислими щелепами — втричі приємно! Плюс автоматичний набір очок досвіду та монет: залишив робота на ніч, під ранок ти найкращий! Крім того, я навіть як глядач обажаю годинами дивитися на гру в більярд.
Загалом, так, я зважився! Ласкаво просимо під кат! :)

Читати далі →

Що і навіщо шукають на сайтах «боти темної сторони сили»

Що таке «боти темної сторони сили»? Позначимо так скануючі програми (пошукові роботи, павуки), які використовують зловмисники. На відміну від роботів пошукових систем [1, 2], «боти темної сторони сили» (надалі для стислості — боти) зайняті пошуком вразливостей, шкідливих програмних закладок, конфіденційної інформації і т. д. Дії, аналогічні роботи бота, може виконувати і людина, але використання бота, зі зрозумілих причин, ефективніше і більш поширене.

Читати далі →