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
string
required
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:The full title of the anime (romaji or English)
List of all opening themes with:
- Song title and episode range (e.g., “OP1: Episodes 1-50”)
- Artist name
- Spotify link (if available)
List of all ending themes with:
- Song title and episode range (e.g., “ED1: Episodes 1-25”)
- Artist name
- Spotify link (if available)
Anime cover image from MyAnimeList
Direct link to the anime’s MyAnimeList page
How It Works
1
Lookup on AniList
The bot first resolves the search term to an anime entry on AniList.
2
Fetch from MyAnimeList
Using the AniList data, the bot queries MyAnimeList for theme song listings.
3
Match with Spotify
For each song, the bot searches Spotify to find a track link.
4
Return embed
All songs are formatted into a Discord embed with clickable links.
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.