Skip to content

Paperboy-LFL is an automated tool for monitoring academic publications. It searches RSS feeds for specified keywords and authors, then pushes matching articles in a readable format to a designated Slack channel. This automation is fully handled via GitHub Actions.

License

Notifications You must be signed in to change notification settings

LFL-Lab/LFL_PaperBot

Repository files navigation

LFL PaperBot 🤖

GitHub Workflow Status License

Overview

LFL_PaperBot is an automated tool for monitoring academic publications. It searches RSS feeds for specified keywords and authors, then pushes matching articles in a readable format to a designated Slack channel. This automation is fully handled via GitHub Actions.

Getting Started

Prerequisites

  • A GitHub account
  • A Slack workspace with a bot user

Setup

Slack Bot User

  1. Create an app in your Slack workspace by visiting Slack API.
  2. Enable the Slack bot user.
  3. Install the app to your workspace and copy the bot user token from the 'OAuth & Permissions' tab.
  4. Add the bot user token as a secret in your GitHub repository (named SLACK_TOKEN).

GitHub Repository

  1. Fork the LFL_PaperBot repository to your GitHub account.
  2. Clone the forked repository to your local machine for configuration.

Configuration Files

  • authors.txt: List authors to track. Include variations of names with/without middle initials.
  • feeds.txt: URLs of RSS feeds to monitor.
  • keywords.txt: Keywords to search within the articles.
  • channel.txt: Slack channel ID where the articles will be posted.

Updating Configuration Files

  1. Modify authors.txt, feeds.txt, keywords.txt, and channel.txt as needed in your forked repository.
  2. Commit and push the changes to your GitHub repository.

GitHub Actions

  • The workflow is set up in .github/workflows/schedule.yml.
  • The action is scheduled to run at a specified time every day.
  • On execution, the script distributor.py processes the RSS feeds and sends the relevant articles to the specified Slack channel.

Updates needed for the GitHub Actions workflow:

  • Ensure that "Read and write permissions" are enabled in Settings -> Actions -> General -> Workflow permissions
  • Update the schedule in schedule.yml to the desired time.
  • Update the SLACK_TOKEN secret in the repository settings if the bot user token changes.
  • Create a repository secrets variable (GH_PAT) with value that is your PAT_NAME that has at least the repo scope enabled.
    • If you don't have a PAT: Go to your GitHub settings, then to Developer settings > Personal access tokens > Generate new token. Make sure the token has the repo scope.
  • Update the GIT_HTTPS_USERNAME to your username

Contributing

To add more keywords, feeds, or authors:

  1. Fork the repository.
  2. Modify keywords.txt, feeds.txt, or authors.txt as needed.
  3. Commit and push your changes to your forked repository.
  4. Create a pull request for your changes to be reviewed and merged into the main repository.

Important Notes

  • Avoid overwhelming your Slack channel with repeated messages during initial setup and testing. Consider using a private channel for testing.
  • Follow best practices when making contributions to the project via pull requests.

About

Paperboy-LFL is an automated tool for monitoring academic publications. It searches RSS feeds for specified keywords and authors, then pushes matching articles in a readable format to a designated Slack channel. This automation is fully handled via GitHub Actions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages