This repository contains a Golang application to fetch match data for a specific esports team and generate an iCalendar file that can be imported into various calendar applications.
- Fetches match data (team names, dates, tournament names, and results) for a specific esports team using the default provider (DotaProvider, which fetches Dota 2 matches from ggscore.com).
- Generates an iCalendar (.ics) file containing the match events.
- Allows you to set the refresh interval for the iCalendar events.
- Runs a simple HTTP server to serve the generated iCalendar file.
This project can be run inside a Docker container. To do so, use the provided Dockerfile
and docker-compose.yml
.
The following environment variables can be set to configure the behavior of the esport-syncer
service:
TEAM_ID
: The ID of the team for which you want to fetch the matches. (Default: Team Spirit ID)CALENDAR_NAME
: The name of the generated iCalendar. (Default: "Esport matches")CALENDAR_COLOR
: The color of the calendar events. (Default: "red")CALENDAR_REFRESH_INTERVAL
: The refresh interval for the calendar events. (Default: "P1D")PORT
: The port on which the server will listen. (Default: "1710")
- You can change the default calendar name, default calendar color, default refresh interval, or default port by setting the respective environment variables.
- The default provider for fetching match data is
DotaProvider
. You can create your own provider by implementing theProvider
interface and modifying themain.go
file accordingly.
The default provider for fetching match data is DotaProvider. This provider fetches Dota 2 match data for a specific team from ggscore.com.
To use a different provider or create your own, implement the Provider interface in the providers package and modify the main.go file accordingly.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Feel free to open a pull request or report any issues.
- Fork the repository
- Create a new branch for your feature or bugfix (
git checkout -b feature/your-feature
) - Commit your changes (
git commit -am 'Add your feature'
) - Push to the branch (
git push origin feature/your-feature
) - Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.