Send new messages from public Facebook groups to a Discord channel.
To send messages to a different source, subclass the Channel abstract base class (ABC) in channel.py and implement the send() method. An example structure of a post can be found in structure.md.
Optionally, create a virtual environment and activate it to avoid installing dependencies globally.
virtualenv .venv
# Linux / macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate.batInstall the dependencies.
pip install -r requirements.txtcd src
python -m mainThe exact command to run depends on your Python installation. If you have multiple versions of Python installed, you may need to run python3 instead of python.
The environment variables DISCORD_WEBHOOK_URL and FACEBOOK_GROUP_IDS must be set.
The Discord webhook URL can be obtained by creating a webhook in the Discord channel you want to send messages to (1) Right-click on the channel and select "Edit channel", (2) In the "Integrations" panel, select "Webhooks" then "New Webhook", (3) Give the webhook a name and press "Copy Webhook URL" to obtain the URL for sending to the webhook.
The Facebook group ID can be obtained by looking at the URL of the group. For example, the group ID for https://www.facebook.com/groups/1234567890/ is 1234567890. The group ID may also be a string representing the group name if it appears in the URL.
The variable SENT_POSTS_FILENAME can optionally be set to change the filename of the file that stores the IDs of posts that have already been sent. The default is sent_posts.txt.