Skip to content

z1qaw/Article-Telegram-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Установка

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡ‚Π°

  1. ПишСм Π² Telegram Π±ΠΎΡ‚Ρƒ @BotFather, ΡˆΠ»Ρ‘ΠΌ Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ /new_bot, Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌ Π±ΠΎΡ‚Π°, слСдуя инструкциям, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Token Ρ‚ΠΈΠΏΠ° 1234567890:Qweufgyewhfhus3FUEhufw.
  2. ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» bot_config.py Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. ВставляСм Token ΠΌΠ΅ΠΆΠ΄Ρƒ скобок Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ bot_token

2. Π”Π΅ΠΏΠ»ΠΎΠΉ Heroku

ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ:

Deploy

Или:

  1. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° https://www.heroku.com/, рСгистрируСм Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ (Кнопка Sign Up).
  2. Π’ Π³Ρ€Π°Ρ„Π΅ Role Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Hobbyist, Π² Π³Ρ€Π°Ρ„Π΅ Primary development language Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Python.
  3. ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ ΠΏΠΎΡ‡Ρ‚Ρƒ, создаём ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°.
  4. НадимаСт Π½Π° синюю ΠΊΠ½ΠΎΠΏΠΊΡƒ Click here to proceed. ПопадаСм Π² Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚.
  5. НаТимаСм Π½Π° ΠΊΠ½ΠΎΠΊΡƒ Create new app, Π²Π²ΠΎΠ΄ΠΈΠΌ имя прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, article-telegram-bot, Π±Π΅Π· Ρ€Π°Π·Π½ΠΈΡ†Ρ‹), Π² Region ставим Europe
  6. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΈ устанавливаСм Heroku-CLI: https://devcenter.heroku.com/articles/heroku-cli#download-and-install
    Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ послС установки.
  7. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС установщика проставляСм всС 3 Π³Π°Π»ΠΎΡ‡ΠΊΠΈ, Π΄Π°Π»Π΅Π΅-ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.
  8. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ консоль, пишСм Π² Π½Π΅Ρ‘ heroku login ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Enter. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, логинимся. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π°Π»ΠΎΠ³ΠΈΠ½Π΅Π½Ρ‹ Π² консоли. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π»ΠΎΠ³ΠΈΠ½ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.
  9. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° страницу https://www.heroku.com/postgres, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° синюю ΠΊΠ½ΠΎΠΏΠΊΡƒ Choose a plan, Π΄Π°Π»Π΅Π΅ Π½Π° Install Heroku Postgres
  10. Π’ Add-on plan ставим Hobby Dev - Free, Π½ΠΈΠΆΠ΅ Π² строкС ΠΈΡ‰Π΅ΠΌ своё ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ (article-telegram-bot, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€).
  11. Π–ΠΌΡ‘ΠΌ Π½Π° Provision add-on, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… соСдинСна, ΠΆΠΌΡ‘ΠΌ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Heroku Postgres, ΠΆΠ΄Ρ‘ΠΌ, ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
  12. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Settings, ΠΆΠΌΡ‘ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ View Credentials…, Π² спискС Π²ΠΈΠ΄ΠΈΠΌ URI (postgres://qweqwrqwrqrw:6da4....), ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ вставляСм Π² Ρ„Π°ΠΉΠ» bot_config.py Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ database_url.
  13. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΈ устанавливаСм Git ΠΏΠΎ ссылкС https://gitforwindows.org/, Π½Π΅ трогая Π³Π°Π»ΠΎΡ‡ΠΊΠΈ.
  14. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ послС установки.
  15. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ консоль ΠΈ прописываСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ:
cd ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ/ΠΏΠ°ΠΏΠΊΠΈ/с/ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ/article-telegram-bot
git init
git add .  # Π’ΠΎΡ‡ΠΊΠ° Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°
git commit -m "Commit"
heroku git:remote -a app-name  # ВмСсто "app-name" имя своСго прилоТСния
git push heroku master`

3. Запуск

Π‘ΠΎΡ‚ Π·Π°Π»ΠΈΡ‚ Π½Π° Heroku ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

ЗапускаСм Π±ΠΎΡ‚Π°:

heroku ps:scale worker=1

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π»ΠΎΠ³ΠΈ Π±ΠΎΡ‚Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

heroku logs --source app --tail

ПослС этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² консоли отобразятся Π»ΠΎΠ³ΠΈ.
Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π»ΠΎΠ³ΠΎΠ², Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ клавиши Ctrl+C ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ "Y',

ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π±ΠΎΡ‚Π°:

heroku ps:scale worker=0

Настройка Π±ΠΎΡ‚Π°

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΠΎΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для получСния рассылки. Для этого Π½ΡƒΠΆΠ½ΠΎ Π² Telegram ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ /subscribe. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ bot_config.py Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ настройки:

user_secret - ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π»Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π±ΠΎΡ‚ΠΎΠΌ. МоТно Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Ρ‘ строчку пароля Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ("123qwe"), Ρ‚ΠΎΠ³Π΄Π° для добавлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эту строку Π±ΠΎΡ‚Ρƒ, ΠΊΠΎΠΌΠ°Π½Π΄Π° /subscribe Π½Π΅ сработаСт.
key_words - ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ для добавлСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов для статСй. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ символом | ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π±Π΅Π· ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для тСкстов России ΠΈ Россия ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Росси. Если ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² частях Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… слов, ставим ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом символ \b - (\bРосси). Π’ Π½Π°Ρ‡Π°Π»Π΅ всСй строки ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊ r (r"\bросси|\bΡƒΠΊΡ€Π°ΠΈΠ½"). Π’ ΠΊΠΎΠ½Ρ†Π΅ всСх ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов Π·Π½Π°ΠΊΠ° | Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ!

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ измСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ:

heroku ps:scale worker=0
cd ΠΏΡƒΡ‚ΡŒ/Π΄ΠΎ/ΠΏΠ°ΠΏΠΊΠΈ/с/ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ/article-telegram-bot
git init
git add .
git commit -m "Commit"
git push heroku master
heroku ps:scale worker=1

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π»ΠΎΠ³ΠΈ

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΎΡ‚Π°

Π’ консоли запускаСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

heroku logs --source app --tail

Π’Π΅ΠΏΠ΅Ρ€ΡŒ записи Π»ΠΎΠ³ΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² консоли.

НаТимаСм клавиши Ctrl+C ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Y, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π»ΠΎΠ³ΠΎΠ².

ОписаниС записСй логов

  • Π”Π°Ρ‚Π° записи Π»ΠΎΠ³Π°:
2019-10-11T22:01:42.362278+00:00 app[worker.1]: ...

  • Π±ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° сайтС BBC (BbcParser) послСдниС ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ сканируСт ΠΈΡ… Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹Ρ… статСй.
BbcParser: Get new articles list...

  • НайдСна ΡΡ‚Π°Ρ‚ΡŒΡ
>> iAoHNYsR - ---------------------------------
>> РИА Новости - 00:51 12.10.2019 - ΠŸΡƒΡ‚ΠΈΠ½ - ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ ΠΌΠΈΡ€Π° - https://ria.ru/123123123/333213231.html
>> Match:россия

ОписаниС:

>> [БистСмный ID ΡΡ‚Π°Ρ‚ΡŒΠΈ] - ---------------------------------`
>> [Π‘Π°ΠΉΡ‚ источника] - [Π”Π°Ρ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° сайт] - [Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡ‚Π°Ρ‚ΡŒΠΈ] - [Бсылка Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡŽ]`
>> Match: [НайдСнныС Π² тСкстС ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ]

  • Π‘ΠΎΡ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Π½ΠΎΠ²ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΅Ρ‘ тСкст ΠΈ сканируСт Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов:
>> ReutersParser: Get article: /article/us-usa-election-religion/qweqwe

  • Π‘ΠΎΡ‚ пытаСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ с ID 12345678. ID ΡΡ‚Π°Ρ‚ΡŒΠΈ - iAoHNYsR.
>> Bot: User 12345678 - iAoHNYsR - Try to send message...