/system shutdown
- Triggers the bot's shutdown procedure
- Requirements: Invoker is an owner
/system ip
- Returns the local IP of the bot for SSH purposes
- Requirements: Invoker is an owner
/epic current
- Fetches the games that are currently free on epic
/epic add_notif
- Adds current DM / Channel / Thread to locations to send free game information (when it changes). (Also starts loop if nessisary).
- Requirements: In a DM OR manage webhooks permission OR manage channel permission for channel OR manage thread permission for thread
/epic rm_notif
- Removes current DM / Channel / Thread from locations to send free game information.
- Requirements: In a DM OR manage webhooks permission OR manage channel permission for channel OR manage thread permission for thread
/epic hard_reset
- Deletes the current notif loop and starts a new one. This will also cause a refresh of cached free games
- Requirements: Invoker is an owner
games_check_loop
- Refreshes cached games
- Send messages to registered locations
- Sleep until the next change (typically a week).
Abandoned due to taking more work to maintain than it is worth (thanks Hoyoverse). It'll likely be removed once daily check-in completely stops working, as it seems like the only working part remaining.
/genshin daily redeem_daily [game]
- Triggers redeeming the user's daily hoyolab check-in
- Requirements: User has shared Hoyolab valid cookies
- Arguments:
- game: The game to run the command for (
Genshin Impact
,Hokai Impact 3rd
, orHonkai Star Rail
)
- game: The game to run the command for (
/genshin code redeem <code> [game]
- Redeems the code for the user's genshin account
- Requirements: User has shared Hoyolab valid cookies, code is valid
- Arguments:
- code: The code to try redeeming.
- Automatically set to uppercase and strips whitespace
- game: The game to run the command for
Genshin Impact
,Hokai Impact 3rd
, orHonkai Star Rail
- code: The code to try redeeming.
/genshin code share <code> [game]
- Redeems the code for all users there is cookie data for and have enabled
auto_codes
- Requirements: User has shared Hoyolab valid cookies, code is valid
- Arguments:
- code: The code to try redeeming.
- Automatically set to uppercase and strips whitespace
- game: The game to run the command for
Genshin Impact
,Hokai Impact 3rd
, orHonkai Star Rail
- code: The code to try redeeming.
- Redeems the code for all users there is cookie data for and have enabled
/genshin config check
- Checks the user's cookies and settings and returns a report
- Requirements: User has shared Hoyolab valid cookies
/genshin config cookies
- Returns a modal for the user to configure their Hoyolab cookies
- Existing setting will be preserved, else defaulting to True/Enabled
/genshin config delete
- Deletes the user's cookies / settings if they are present
/genshin config settings [auto_daily] [auto_codes] [notif_daily] [notif_codes]
- Allows users to update their settings for interactions with Hoyolab
- Requirements: User has shared Hoyolab valid cookies
- Arguments:
- auto_daily: Allow the bot to automatically redeem your HoyoLab daily check-in.
- True: Enabled | False: Disabled | None: Leave unchanged
- auto_codes: Allow the bot to redeem codes others share with the share_codes command.
- True: Enabled | False: Disabled | None: Leave unchanged
- notif_daily: Receive DMs for automatically claimed daily check-in rewards.
- True: Enabled | False: Disabled | None: Leave unchanged
- notif_codes: Receive DMs for automatically claimed gift codes.
- True: Enabled | False: Disabled | None: Leave unchanged
- auto_daily: Allow the bot to automatically redeem your HoyoLab daily check-in.
/genshin unlock
- Returns a modal to enter the key for the Hoyolab data
- Requirements: Invoker is an owner
- Commands / Routines that require HoyolabData will not work until this is provided
- Exceptions:
/genshin config delete
- Exceptions:
/genshin lock
- Deletes the key for the Hoyolab data, returning it to a pre-
/genshin unlock
state - Requirements: Invoker is an owner
- Deletes the key for the Hoyolab data, returning it to a pre-
auto_redeem_daily
- Automatically redeems Hoyolab daily check-in for all users with valid cookies
and the
auto_daily
option enabled. Additionally, users withnotif_daily
enabled will receive a DM informing them of the result. - Trigger:
16:15:05 UTC
daily. (00:15:05 UTC+08:00
)
- Automatically redeems Hoyolab daily check-in for all users with valid cookies
and the
unlock_reminder
- Informs the bot owner(s) that HoyoLabData doesn't have a key.
- Trigger:
bot.on_ready
(initial startup / reconnect)
- Message -> Apps ->
Convert Links
- Replaces links to ones that work better in discord.
- It performs this with basic python
str.replace
and can be applied to any kind of string, not just links
- User -> Apps ->
Get Avatar
- Sends the user's avatar
- If they have a guild avatar, shows both global and local avatars
/time now
- Returns the timestamps for the time of execution
/time in [days] [hours] [minutes] [seconds] [milliseconds]
- Returns the timestamps for the time after the specified delta
/time at <year> <month> <day> [hour] [minute] [second] [microsecond] [tz_offset]
- Returns the timestamps for the specified time.
/vclog force_scan_vcs
- Make voice states assumed by logs match actual voice states
- Requirements: Invoker is an owner
/vclog joined [channel] [amount] [time_format]
- View the joined log of the current or provided voice channel
/vclog left [channel] [amount] [time_format]
- View the left log of the current or provided voice channel
/vclog all [channel] [amount] [ignore_empty] [remove_dupes] [remove_undo] [time_format]
- View all the logs of the current or provided voice channel
/vclog get <include> <include_alt> [channel] [amount] [ignore_empty] [remove_dupes] [remove_undo] [time_format]
- View a specific log of the current or provided voice channel
- Arguments:
- include: The voice state change type to show the logs of
- include_alt: Include the 'opposite' voice state change type as well
- e.g.
channel_join
andchannel_left
- e.g.
- Arguments:
- channel: The channel to get logs from
- If empty: Uses channel sent in, channel invoker is in, or fails
- amount: The number of entries to display
- -1 = all (or at least however many can fit in the field)
- time_format: The time format to send with the timestamps
- ignore_empty: Weather or not to include fields for voice state change types that have no events
- remove_dupes: Weather or not to include multiple events by the same member for the same voice state change type
- remove_undo: Weather or not to include actions that where 'undone' by later actions
- e.g. exclude a
channel_join
if that member has a laterchannel_left
- e.g. exclude a
- time_format: The time format for the timestamps
- channel: The channel to get logs from
on_ready
- When the bot is fully connected, make voice states assumed by logs match actual voice states
- Same as manually running
/vclog force_scan_vcs
on_voice_state_update
- When a member performs a voice state update, log the who, what, and when.
- When a member leaves and the voice channel is then empty, clears all logs for that channel