All Projects → asterleen → crawley

asterleen / crawley

Licence: BSD-3-Clause License
Crawley the Telegram Beholder

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to crawley

RSSnotifier
Node RSS reader telegram bot. Provides notification on queries-matching elements and supports multiple users.
Stars: ✭ 15 (-37.5%)
Mutual labels:  rss, telegram-bot
Newscatchr
FOSS Android News Reader App
Stars: ✭ 216 (+800%)
Mutual labels:  rss, news
Dino Rss Electron
A simple, efficient, open source RSS reader service
Stars: ✭ 89 (+270.83%)
Mutual labels:  rss, news
Pygooglenews
If Google News had a Python library
Stars: ✭ 900 (+3650%)
Mutual labels:  rss, news
gosquito
gosquito ("go" + "mosquito") is a pluggable tool for data gathering, data processing and data transmitting to various destinations.
Stars: ✭ 25 (+4.17%)
Mutual labels:  rss, news
Rssbot
Lightweight Telegram RSS bot for notifications only. 用于消息通知的轻量级 Telegram RSS 机器人
Stars: ✭ 952 (+3866.67%)
Mutual labels:  rss, telegram-bot
Awesome Blogs
한국에 있는 좋은 개발자들의 블로그들을 편리하게 구독할 수 있도록 하나의 주소로 묶어서 RSS 피드로 제공해줍니다.
Stars: ✭ 178 (+641.67%)
Mutual labels:  rss, news
Mapnews
Today's News on a Map
Stars: ✭ 20 (-16.67%)
Mutual labels:  rss, news
serializer
A linearizing social tech news reader
Stars: ✭ 89 (+270.83%)
Mutual labels:  rss, news
feed2email
RSS/Atom feed updates in your email
Stars: ✭ 37 (+54.17%)
Mutual labels:  rss, news
Flowerss Bot
A telegram bot for rss reader. 一个支持应用内阅读的 Telegram RSS Bot。
Stars: ✭ 660 (+2650%)
Mutual labels:  rss, telegram-bot
overflow-news
📚 Don't waste time searching for good dev blog posts. Get the latest news here.
Stars: ✭ 32 (+33.33%)
Mutual labels:  rss, news
News
📰 RSS/Atom feed reader
Stars: ✭ 524 (+2083.33%)
Mutual labels:  rss, news
Moviemagnetbot
🤖 telegram bot for movies
Stars: ✭ 39 (+62.5%)
Mutual labels:  rss, telegram-bot
Decsync
Synchronize RSS, contacts, calendars, tasks and more without a server
Stars: ✭ 257 (+970.83%)
Mutual labels:  rss, synchronization
Telegram Robot Rss
A clean and easy to use RSS Newsfeed Bot for fabulous Telegram Messenger App! 🤖 ✉️ ❤️
Stars: ✭ 120 (+400%)
Mutual labels:  rss, telegram-bot
newsdash
A news dashboard inspired by iGoogle and Netvibes
Stars: ✭ 44 (+83.33%)
Mutual labels:  rss, news
HungryHippo
🦛 scrapes websites and generates rss feeds
Stars: ✭ 33 (+37.5%)
Mutual labels:  rss, news
tgto
Telegram to RSS bot.
Stars: ✭ 20 (-16.67%)
Mutual labels:  rss, telegram-bot
spbu4u
Telegram bot Timetable for SPbU students @Spbu4UBot | Телеграм бот Расписание для студентов СПбГУ
Stars: ✭ 20 (-16.67%)
Mutual labels:  telegram-bot

Crawley the Telegram Beholder

Hi, this is Crawley! Crawley allows you to use your Telegram channel as a news feed for your website. Crawley is a standalone, independent from other libraries Telegram bot written in PHP. It can be used on both dedicated and shared hostings. Crawley has an API to get saved posts in JSON format and use it on your website.

Quick links: Configuration | User's manual & API | Config file

What is Crawley made for?

Crawley stores your Telegram channel feed into its internal database and keeps it updated via Telegram Bot API and its webhooks. It can be used as a news source for your website as well as an RSS feed. Crawley is a gate between your website and your Telegram channel that allows users which do not have a Telegram account stay in touch with you. Crawley is only an API and therefore it's highly customizable, just get Crawley's JSON and build your news page as you want!

Installation

Prerequisites

Apache web server is the preferable because of its support of .htaccess. Don't forget to set up the AllowOverride all configuration option. Alternatively you can set up the nginx server with corresponding rewrite options, see .htaccess file in /src/ directory. It is also neccessary to restrict web server's clients from accessing the engine directory.

Crawley is tested with PHP7, but it does not use any of PHP7-specific functions. The following PHP modules are required: curl, pgsql, mbstring. In Ubuntu/Debian run this command as root:
apt install php-curl php-mbstring php-pgsql

We use PostgreSQL as the database so you also will need to set it up. MySQL/MariaDB will be added later or on your demand.

Installation steps

  1. Make sure that your setup meets the prerequisites
  2. Download Crawley and upload the contents of src directory onto your web server
  3. Execute the SQL from dist/crawley.pg.sql on your database (privileges and schemas are on your own)
  4. Proceed to configuration section!

Configuration

Basic setup

If you don't have a Telegram bot yet, obtain it from BotFather. It will give you an unique bot ID:Key, remember it. Disable "Privacy Mode" for your bot to allow it to access the messages of your channel. After that, copy engine/enconfig.sample.php to engine/enconfig.php and edit it according to your requirements. Detailed explanation of the configuration fields is here. Take your attention at the TELEGRAM_CALLBACK_KEY configuration option. It should be random and it will be used in Telegram's webhook to make sure that it's really the Telegram server came to Crawley.

Telegram connection

Let's assume that Crawley is accessible at https://example.com/crawley. Using the Telegram API make a request to register the webhook pointing to Crawley, like this: http://api.telegram.org/bot<num>:<key>/setWebhook?url=https://example.com/crawley/callback/<your_callback_key> Telegram should respond with the OK status and Webhook was set comment.

Connecting Crawley with your channel

First, determine your user ID. To do that, send a /whoami command to Crawley and it will respond you with your Telegram user ID. Edit the engine/enconfig.php file and set the TELEGRAM_UBER_ADMIN_UID to the value you got from Crawley.
Second, add Crawley to your channel. In Channel Settings choose 'Add Administrators', find your bot and add it to the channel. Allow it to publish, edit and delete messages, other privileges can (and should) be disabled.
Third, send a /getkey command to Crawley in private messages. It will respond you with a key to be used to connect your channel. Go to your channel and send /setchat command with the key provided by Crawley. Don't worry, after setting up Crawley will remove this message.
That's it! You are able now to post records to the Telegram channel and they will be copied to Crawley's database.

Still can't get it!

Read the detailed configuration & installation document.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].