Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cagataycali/university-news-notifier
:books: University news notifier
https://github.com/cagataycali/university-news-notifier
notification-service notifier telegram telegram-bot telegram-bot-api university
Last synced: 1 day ago
JSON representation
:books: University news notifier
- Host: GitHub
- URL: https://github.com/cagataycali/university-news-notifier
- Owner: cagataycali
- License: mit
- Created: 2017-05-28T23:35:34.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-15T05:23:13.000Z (5 months ago)
- Last Synced: 2025-01-03T01:19:32.418Z (9 days ago)
- Topics: notification-service, notifier, telegram, telegram-bot, telegram-bot-api, university
- Language: JavaScript
- Size: 1.5 MB
- Stars: 56
- Watchers: 5
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- awesome - cagataycali/university-news-notifier - :books: University news notifier (JavaScript)
README
# :books: University News Notifier
[![Bot API](http://img.shields.io/badge/Bot%20API-v3.0.0-00aced.svg)](https://core.telegram.org/bots/api)
[![@UniversityNewsNotifierBot](https://img.shields.io/badge/%F0%9F%93%9A%20Telegram-UniversityNewsNotifierBot%20-blue.svg)](https://t.me/UniversityNewsNotifierBot)
[![@cagataycali](https://img.shields.io/badge/%F0%9F%92%AC%20Telegram-cagataycali-brightgreen.svg)](https://t.me/cagataycali)
[![@emrfs](https://img.shields.io/badge/%F0%9F%92%AC%20Telegram-emreguler-brightgreen.svg)](https://t.me/emrfs)When any announcement at your university, notifier will notify you via telegram.
Node.js module to interact with official [Telegram Bot API](https://core.telegram.org/bots/api). A bot token is needed, to obtain one, talk to ![@botfather](https://img.shields.io/badge/%F0%9F%92%AC%20Telegram-botfather-blue.svg) and create a new bot.
## :+1: Usage
**Start conversation with your bot**
![init](https://github.com/cagataycali/university-news-notifier/raw/master/screenshots/init.png)
**Bot will notify you when any announcement at your university**
![news](https://github.com/cagataycali/university-news-notifier/raw/master/screenshots/news.png)
## :sparkles: Contribution Guideline
This guide will show you how to build and contribute to the project.
**Clone and install dependencies**
```bash
git clone https://github.com/cagataycali/university-news-notifier.git
cd university-news-notifier
npm install
```**Add your parser in sites directory**
Example parser json file,
```json
{
"university": "Pamukkale Üniversitesi",
"faculity": "Computer Engineering",
"home":"http://www.pamukkale.edu.tr",
"url": "http://www.pamukkale.edu.tr/bilgisayar/tr/haberler",
"scrape": {
"news": {
"listItem": "tr",
"name": "announcement",
"data": {
"url": {
"selector": "a.tumunuGorLink",
"attr": "href"
},
"title": "div.tumunuGorBaslik",
"publishedAt": "div.tumunuGorTarih"
}
}
}
}
```Even you can add your rss listener,
```json
{
"university": "Yildiz Teknik Üniversitesi",
"faculity": "Computer Engineering",
"rss": "https://ytuce.maliayas.com/?type=rss"
}
```Also you can add your university parser with native javascript,
Check out:
```bash
sites/kou.js
```**Update university list**
Check out [here](https://github.com/cagataycali/university-news-notifier/blob/master/index.js#L48)
**Test your parser**
Check out [here](https://github.com/cagataycali/university-news-notifier/blob/master/example-test.js)
**Run end to end test for results**
```bash
npm run test
```## :cloud: Deploy on your own notifier
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/cagataycali/university-news-notifier)
## :zap: Status
| University | Crawling Site | Status |
| -----------------------------------------------------------------------|:----------------------------------------------------------:|:--------:|
| [Anadolu Universitesi](https://www.anadolu.edu.tr) | https://www.anadolu.edu.tr/duyurular | OK |
| [Boğaziçi Universitesi](http://bogazici.edu.tr) | http://bogazici.edu.tr/tr-TR/Content/Duyurular/Duyurular | OK |
| [Dokuz Eylül](http://www.deu.edu.tr) | http://www.eng.deu.edu.tr | OK |
| [Ege Üniversitesi](http://www.ege.edu.tr/) | http://bilmuh.ege.edu.tr/ | OK |
| [Eskişehir Osmangazi Üniversitesi](https://www.ogu.edu.tr) | https://www.ogu.edu.tr | OK |
| [İstanbul Teknik Universitesi](http://www.itu.edu.tr/) | http://www.itu.edu.tr/duyuru | OK |
| [Ondokuz Mayıs Universitesi](http://www.omu.edu.tr/tr/tum-haberler) | http://www.omu.edu.tr/tr/tum-haberler | OK |
| [Pamukkale](http://www.pamukkale.edu.tr/bilgisayar) | http://www.pamukkale.edu.tr/bilgisayar | OK |
| [Yildiz Technical](https://www.ce.yildiz.edu.tr/) | https://ytuce.maliayas.com/ | OK |**Lets parse your university feeds :smiling_imp:**
**Or maybe help us for rss parsing feature.**
**Even you can support with your server, we don't want run on heroku.**
## :octocat: Contributors
* [Çağatay Çalı](https://github.com/cagataycali)
* [Emre Güler](https://github.com/pleycpl)
* [Murat Bastas](https://github.com/muratbsts)
* [Barış Esen](https://github.com/barisesen)
* [Mustafa Kaan Demirhan](https://github.com/mstfknn)
* [Sinan Ülker](https://github.com/unicod3)
* [Burak Özkırdeniz](https://github.com/burakozkirdeniz)## Hosting backed by [PlusClouds](https://plusclouds.com)
*Thanks for sponsorships* :+1:
![Backed by PlusClouds](https://plusclouds.com/assets/frontend/images/logos/svg/plusclouds-logo-blue-white.svg)