Automated and personalized news delivery for your community.
Currently, it reads collects news for the following sites.
The results that are collected are then sent to the following platforms.
This application was made to be deployed to a Docker host. If you want to run it on metal, call the app.py file.
Use the docker image to deploy the application.
You can see an example of how to deploy the bot with the docker-compose.yml file.
If you want to build the program from source.
git clone https://github.com/jtom38/newsbot.git
git fetch --all --tags
git checkout tags/versionNumber
make docker-build
# Add your variables to .env
vi .env
# This will use the docker-compose.yml file in the project to run the application.
make docker-run
The application settings are currently stored in the .env file. Use the template and apply the webhook links for the sites that you want to use.
If you want to have a single source post to multiple webhooks, you can do that. On the line where you enter your webhook separate each one with a space character. The program will split them up and post updates to both webhooks.
This source pulls information directly from the website pso2.com and collects the news for you.
For the configuration of this source, see the Example Template.
This source monitors the RSS feed and collects the news posts for you. This will collect all information that has been posted on the RSS feed and send it.
For the configuration of this source, see the Example Template.
This source pulls information directly from the main site. With this source you able to define what type of news is posted to your server.
For the configuration of this source, see the Example Template.
Each subreddit is defined by its own number value.
Currently, 10 different subreddits can be monitored.
Each subreddit will need its own entry with the correct values.
For the configuration of this source, see the Example Template.
You can now get updates when you defined YouTube channel posts an update! At this time you can only monitor 10 feeds.
For the configuration of this source, see the Example Template.
Instagram can monitor a users posts or a tag as long as they are public.
You can currently monitor up to 10 of each.
This source will pull information from the web site directly so no API keys are required.
For the configuration of this source, see the Example Template.
In order to use the Twitter source you will need to sign up for a Twitter Developer Account.
Once you have that, give the secrets to NewsBot to pull information for you.
This program will not act as a user when it comes to OAuth.
NewsBot is only going to use the keys to pull information that is public on other users or tags.
It will not pull your personal Twitter Feed.
For the configuration of this source, see the Example Template.
In order to use the Twitch source you will need to sign up for a Twitch Developer Account.
https://localhostClient ID and Client Secret and place them in the NewsBot configuration.For the configuration of this source, see the Example Template
# Pokemon Go Hub Example
NEWSBOT_POGO_ENABLED=true
NEWSBOT_POGO_HOOK=https://discordapp.com/api/webhooks/...
# Phantasy Star Online 2 Example
NEWSBOT_PSO2_ENABLED=true
NEWSBOT_PSO2_HOOK=https://discordapp.com/api/webhooks/...
# Final Fantasy XIV Example
NEWSBOT_FFXIV_ALL=False
NEWSBOT_FFXIV_TOPICS=True
NEWSBOT_FFXIV_NOTICES=False
NEWSBOT_FFXIV_MAINTENANCE=False
NEWSBOT_FFXIV_UPDATES=False
NEWSBOT_FFXIV_STATUS=False
NEWSBOT_FFXIV_HOOK=https://discordapp.com/api/webhooks/...
# Reddit Examples
NEWSBOT_REDDIT_SUB_0=aww
NEWSBOT_REDDIT_HOOK_0=https://discordapp.com/api/webhooks/...
NEWSBOT_REDDIT_SUB_1=corgi
NEWSBOT_REDDIT_HOOK_1=https://discordapp.com/api/webhooks/...
# YouTube Examples
NEWSBOT_YOUTUBE_URL_0=https://www.youtube.com/user/gamegrumps
NEWSBOT_YOUTUBE_HOOK_0=https://discordapp.com/api/webhooks/...
NEWSBOT_YOUTUBE_NAME_0=GameGrumps
# Instagram Examples
NEWSBOT_INSTAGRAM_USER_NAME_0=madmax_fluffyroad
NEWSBOT_INSTAGRAM_USER_HOOK_0=https://discordapp.com/api/webhooks/...
NEWSBOT_INSTAGRAM_TAG_NAME_0=corgi
NEWSBOT_INSTAGRAM_TAG_HOOK_0=https://discordapp.com/api/webhooks/...
# Twitter Examples
# Twitter Developer Secrets
NEWSBOT_TWITTER_API_KEY=
NEWSBOT_TWITTER_API_KEY_SECRET=
# User/Hashtag Examples
NEWSBOT_TWITTER_USER_NAME_0=dodo
NEWSBOT_TWITTER_USER_HOOK_0=https://discordapp.com/api/webhooks/...
NEWSBOT_TWITTER_TAG_NAME_0=corgi
NEWSBOT_TWITTER_TAG_HOOK_0=https://discordapp.com/api/webhooks/...
# Twitch Examples
# Twitch Developer Secrets
NEWSBOT_TWITCH_CLIENT_ID=
NEWSBOT_TWITCH_CLIENT_SECRET=
# Twitch Settings
NEWSBOT_TWITCH_MONITOR_CLIPS=True
NEWSBOT_TWITCH_MONITOR_VOD=True
# Twitch User Examples
NEWSBOT_TWITCH_USER_NAME_0=nintendo
NEWSBOT_TWITCH_HOOK_0=https://discordapp.com/api/webhooks/...
NEWSBOT_RSS_NAME_1=omgubuntu
NEWSBOT_RSS_LINK_1=https://www.omgubuntu.co.uk
NEWSBOT_RSS_HOOK_1=https://discordapp.com/api/webhooks/...
At this time Discord webhooks do not support playing video links inside Discord. This is a requested feature but it has not had any movement. Because of this, if a video post is found it will let you know to "Watch the video online!"
| Type | Notes |
|---|---|
| Update | Removed the need to duplicate the Discord Web Hook links. You can now define a Discord object and reference it by name. |
| Update | You can now define NEWSBOT_TWITTER_PERFERED_LANG in the env and filter out tweets that are not the defined language. This is a global Twitter flag. |
| Update | You can now ignore retweets with NEWSBOT_TWITTER_IGNORE_RETWEET. Set it to 'True' if you want to ignore them. This is a global Twitter flag. |
| Update | If you add a record from env, you are not going to be able to edit that record in the UI. |
| Type | Notes |
|---|---|
| Note | Instagram has been disabled for this release. Due to changes on the Instagram UI, Selenium is unable to pull up user/tag pages directly now |
| Added | Generic RSS Reader |
| Added | Dynamic Site Icon Pull |
| Added | Add support for Steam News |
| Updated | Logs can be stored in the DB |
| Updated | Cleaned up how Newsbot reads all the env values. |
| Updated | Optimized the Twitter source to check if the url has been seen already and skips it if it has. |
| Updated | Did some cleanup on the sources and moved code reuse to its own class. |
| Type | Notes |
|---|---|
| Update | Add Cache Layer |
| Update | Add Twitch Clip Support |
| Update | Add Twitch VoD Support |
| Update | Reddit Album Support |
| Update | Discord Webhooks looping with multiple webhooks |
| Update | Reddit and YouTube sources will use the cache to store some values to avoid extra calls that are not required. |
| Type | Notes |
|---|---|
| Fix | Corrected a problem with the Reddit source that would crash the thread when it pulled Author information from a subreddit that did not have a custom CSS. |
| Type | Notes |
|---|---|
| Add | Twitter Support was added. To enable Twitter you will need to provide it with the Twitter Developer API keys |
| Change | Discord Template was updated. |
| Change | Database changes to enable storing the posters information. |
Content type
Image
Digest
Size
334.9 MB
Last updated
over 5 years ago
docker pull jtom38/newsbot