A simple, customizable github action that fetches CTFTime events and sends updates through a Discord webhook.
- Customizable, almost entirely
- Easy setup (literally a single file)
- Schedule-able, using Github Action cron jobs
- Does not require a hosting service (unlike regular discord bots)
Just create a GitHub repository and add your workflow file.
An example can be found in the .github/workflow/weekly.yml
file in this repo.
Tip
You can customize your action to run whenever you wish. I've used cron for scheduling in this example but you don't need to
name: Weekly CTF Update
on:
schedule:
- cron: '0 12 * * 4'
workflow_dispatch:
jobs:
Weekly-Update:
name: Weekly Update
environment: libbabel.so
runs-on: ubuntu-latest
steps:
- name: Check out git repository
uses: actions/checkout@v4
- name: ctftime2discord
uses: DarkGuy10/ctftime2discord@latest
with:
webhook_url: ${{ secrets.WEBHOOK_URL }}
window_size: 4
message_content: <@&1381971729680961566>
app_username: Watch Doggo
app_avatar: https://i.imgur.com/cuEp3vr.gif
embed_color: 11845374
footer_text: Doggo fetched everything very fast
footer_icon: https://i.imgur.com/cuEp3vr.gif
filter_online: true
Warning
Make sure you do not commit the webhook url to your repo. The recommended way is to add it as a encrypted repository/environment secret.
Refer to action.yml
for a more comprehensive list of all the required/available configurations.
This repository is released under the MIT license, which grants the following permissions:
- Commercial use
- Distribution
- Modification
- Private use
For more convoluted language, see the LICENSE.