Overview
The/songs command fetches opening (OP) and ending (ED) theme songs for an anime from MyAnimeList, with Spotify track links when available.
Command Syntax
Parameters
AniList ID (numeric) or anime search term (works with romaji, English, or Japanese titles)
Usage Examples
- By AniList ID
- By anime title
- Numeric titles
Response Data
The bot returns an embed with:Anime Title
The full title of the anime (romaji or English)
Openings
List of all opening themes with:
- Song title and episode range (e.g., “OP1: Episodes 1-50”)
- Artist name
- Spotify link (if available)
Endings
List of all ending themes with:
- Song title and episode range (e.g., “ED1: Episodes 1-25”)
- Artist name
- Spotify link (if available)
Thumbnail
Anime cover image from MyAnimeList
MyAnimeList Link
Direct link to the anime’s MyAnimeList page
How It Works
Search Tips
No results found?
No results found?
If the bot returns
No such anime, try:- Verifying you’re searching for an anime, not a manga
- Using the anime’s AniList ID instead of a search term
- Using the exact romaji title from AniList
Anime found, but no song data appears
Anime found, but no song data appears
If Annie Mei finds the anime on AniList but it does not have a MyAnimeList ID, the bot returns:
Missing Spotify links
Missing Spotify links
Not all songs have Spotify matches. The bot will still show:
- Song title
- Artist name
- Episode range
Long-running series
Long-running series
Annie Mei shows at most the first 10 openings and the first 10 endings to stay within Discord embed limits.
Example Response
For/songs search:Demon Slayer, you might see:
Limitations
- Only anime openings and endings are supported (no insert songs or OST tracks)
- Spotify links may be missing if the song isn’t on Spotify
- Very new or niche anime may not have complete song data on MyAnimeList
Source Code Reference
Implementation:src/commands/songs/command.rs:18
The register() function defines the command structure:
SongFetcher utility at src/commands/songs/fetcher.rs.