Як створити власне автоматичне пряме повідомлення Twitter-бота безкоштовно?

Створення вітального повідомлення для ваших нових підписників у Twitter - це перший крок до того, щоб більше людей залучали ваші твіти та посилання. Як ви могли знати, існує безліч онлайн-сервісів, які допомагають вам надсилати автоматичні прямі повідомлення (DM) своїм новим фоловерам. Але я вважаю божевільним, як онлайн-сервіси беруть від 5 до 15 доларів за простий інструмент, який створює ботів, коли ви можете безкоштовно створити власного.

У цій статті я представляю свого власного бота в Twitter, який я створив для того, щоб надіслати привітальне повідомлення своїм новим послідовникам у Twitter. Я також покажу вам, як це добре працювало для мене протягом півроку.

В кінці цієї статті ви зможете створити свій власний автоматичний DM у Twitter, починаючи від створення вашого повідомлення та до розгортання бота, і все це безкоштовно!

Ця стаття складається з двох розділів. У першому розділі я покроково описую, як працює скрипт і як ви можете легко посприяти роботі інших служб ботів Twitter. Другий розділ - це покроковий посібник, який розповідає, як розгорнути та використовувати бота, навіть не знаючи Node.js.

Що тобі потрібно?

Щоб розробити цього бота, нам потрібно:

  • Встановлено Node.js
  • Twit: Клієнт API Twitter для вузла (REST & Streaming API)
  • Обліковий запис Github
  • Обліковий запис у Twitter
  • Обліковий запис Heroku для розгортання бота.

Якщо ви не знайомі з Nodejs або, можливо, ви не програміст, ви можете відключити проект від GitHub і використовувати його як свій власний.

Давайте розпочнемо.

Секонт 1: Використовуйте Node.js

Якщо ви вже клонували проект на свій комп’ютер, ви побачите таку структуру:

$ cd twitter-bot$ tree . .├── config.js├── index.js├── LICENSE├── package.json├── Procfile├── README.md└── src ├── AutoDM.js └── Twit.js

Як бачите, проект - це проста програма Node.js з файлом index.js як точкою входу:

Файл індексу - це простий скрипт, який імпортує та викликає AutoDMфункцію.

Щоб зробити додаток веселішим, я додав просте повідомлення, яке показує, коли додаток успішно запустився.

Як я вже згадував, я використовую пакет Twit для підключення до Twitter API. Для цього нам потрібно створити просту програму Twitter і запустити екземпляр Twit за допомогою конфігурації програми, як показано нижче:

process.env.XXXXXXX є змінною середовища, яку нам потрібно додати до нашого додатку Heroku на етапі розгортання.

Тепер найцікавішим є створення функції AutoDM:

Як ви можете бачити нижче, AutoDMце проста функція стрілки. Він слухає followподію потоку з API Twitter і виконує функцію SendMessage.

sendMessgeФункція отримує в якості параметра, користувач , який слід за вами ( screen_name). Нам потрібно створити obj with screen_nameта текстове повідомлення. Потім ми надсилаємо запит на публікацію до API Twitter, щоб надіслати DM @screen_nameвідповідно до наступного:

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

Це легко, чи не так? Ви можете прочитати більше коду з репозиторію Github.

Можливо, вас не переконує файлова структура проекту або чому ми не можемо просто використати простий файл, щоб зробити все це. Ви маєте рацію здивуватися, але ми використовуємо цю структуру проекту, щоб спростити внесок у проект. Ви можете легко створити просту послугу Twitter, наприклад, підписання або ретвіт, експортуючи функцію, як autoDM, у новий файл та викликаючи її у файлі індексу. Тож якщо у вас є якісь ідеї щодо розробки нових послуг, сміливо створюйте PR чи видайте запит на нові послуги.

Створити власного бота в Twitter?

Крок 1: Github.

Розгалужте репо проекту у GitHub //github.com/yjose/twitter-bot. Ви можете дати репо зірку, щоб продемонструвати свою підтримку.

Тепер налаштуйте привітальне повідомлення, оновивши GenerateMessageфункцію, і внесіть зміни.

Крок 2: Twitter

Створіть програму Twitter. Зайдіть на //apps.twitter.com/, натисніть кнопку Create New App, а потім заповніть усі поля, як показано нижче:

Перейдіть до Permissionsрозділу та надайте програмі доступ до прямих повідомлень, встановивши прапорець Read,Write and Access direct messages.

Перейдіть на вкладку, Key and Access Tokensа потім натисніть Generate Access Token кнопку внизу сторінки.

Тепер скопіюйте всі ключі Consumer Key, Consumer Secret, Access Tokenі Access Token Secret. Нам потрібно додати їх усіх пізніше як Heroku vars.

Крок 3: Heroku

  • Створіть рахунок Heroku. Це безкоштовно!
  • Підключіться до свого облікового запису Heroku і створіть новий додаток, натиснувши Newкнопку, а потім Create new Appопцію.
  • Виберіть назву програми, а потім натисніть Create App

Виберіть Github як метод розгортання, потім натисніть кнопку підключення.

Введіть ім'я репозиторію вашого бота: `twitter-bot` у вашому випадку.

Тепер вам потрібно додати всі ключі як Heroku змінюються в налаштуваннях вкладки та налаштувати розділ Змінні.

Поверніться до розділу розгортання та натисніть enable automatic deploys, а потім deploy branchкнопку, щоб вперше розгорнути програму.

Перейдіть до розділу ресурси, активуйте робочий dyno та вимкніть веб-dyno.

Щоб дізнатись, чи успішно запущено вашу програму, натисніть moreкнопку у верхньому правому куті сторінки, а потім натисніть view logsопцію. Ви знайдете просту консоль з деякими вихідними даними, подібними до цього знімка екрана. У мене є кілька нових послідовників, і повідомлення успішно відправлено?

Демо в прямому ефірі

Щоб переконатися, що проект працює бездоганно, вам потрібно просто піти за мною, і мій бот у Twitter надішле вам привітальне повідомлення?.

If you have any problem implementing this tutorial, let me know in the comments.

Thanks for reading! If you think other people should read this post and use this project, clap for me, tweet, and share the post.

Remember to follow me on Medium so you can get notified about my future posts.

Read more stories //elazizi.com/