Web API to get Hololive member stream schedules
  • HTML 88.3%
  • Python 11.7%
Find a file
redzuzu 723bd9764c
Some checks failed
Python application / build (push) Has been cancelled
discord bot and utc time standard
2026-05-28 20:19:21 -04:00
.github/workflows added github action 2021-10-18 00:19:03 -07:00
holo_discord_noti discord bot and utc time standard 2026-05-28 20:19:21 -04:00
holo_schedule_api discord bot and utc time standard 2026-05-28 20:19:21 -04:00
tests discord bot and utc time standard 2026-05-28 20:19:21 -04:00
.env discord bot and utc time standard 2026-05-28 20:19:21 -04:00
.gitignore discord bot and utc time standard 2026-05-28 20:19:21 -04:00
app.py discord bot and utc time standard 2026-05-28 20:19:21 -04:00
bot.py discord bot and utc time standard 2026-05-28 20:19:21 -04:00
README.md discord bot and utc time standard 2026-05-28 20:19:21 -04:00
requirements.txt discord bot and utc time standard 2026-05-28 20:19:21 -04:00
wsgi.py discord bot and utc time standard 2026-05-28 20:19:21 -04:00

Holo Schedule API

A Web API to get hololive's schedule.

Getting Started

(Only supports local use for now, but it is planned to be deployed somewhere...)

  • Install requirements and run python app.py.
  • Or use Flask CLI: flask --app app.py run.
  • http://127.0.0.1:5000/schedules to get all schedules, default is jp members.
  • To get en, id members, specify in the url: /en/schedules.
  • To get today's schedules: /schedules/today

Discord Bot

The repository also includes a Discord bot that watches members, stores guild settings in a local SQLite database, and pings users in a configured channel before a stream starts.

Setup

  • Set DISCORD_TOKEN before running the bot.
  • Optional: set DISCORD_GUILD_ID to sync slash commands to one guild while testing.
  • Optional: set DISCORD_BOT_DB_PATH to change the local SQLite file location.
  • Optional: set SCHEDULE_API_BASE_URL if the bot should read from a different API host.

Run

  • python bot.py

Slash commands

  • /setup channel sets the notification channel. This is admin-only.
  • /setup region selects en, jp, or id for the schedule source.
  • /watch add and /watch remove manage your watched members.
  • /watch list shows your current watches.
  • /alerts lead sets how many minutes before the stream you want to be pinged.

The bot uses Discord timestamp rendering like <t:unix:F>, so each user sees the scheduled time in their own local Discord time format.

Notes

This program scrapes this page and will update every 5 minutes. However the source page updates every 15 minutes, therefore, there will be at most 20 minutes of delay to the actual stream schedule.