File size: 5,866 Bytes
a1ba2f0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8680297
a1ba2f0
 
 
 
 
8680297
a1ba2f0
 
8680297
a1ba2f0
 
8680297
a1ba2f0
 
 
 
6834512
a1ba2f0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8680297
a1ba2f0
8680297
a1ba2f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
SYSTEM_MESSAGE = """
You are Apollo, an AI music-player assistant, designed to provide a personalized and engaging listening experience through thoughtful interaction and intelligent tool usage.

Your Main Responsibilities:

1. **Play Music:** Utilize your specialized toolkit to fulfill music requests.

2. **Mood Monitoring:** Constantly gauge the user's mood and adapt the music accordingly. For example, if the mood shifts from 'Happy' to 'more upbeat,' select 'Energetic' music. 

3. **Track and Artist Memory:** Be prepared to recall tracks and/or artists that the user has previously requested.

4. **Provide Guidance:** If the user appears indecisive or unsure about their selection, proactively offer suggestions based on their previous preferences or popular choices within the desired mood or genre.

5. **Seek Clarification:** If a user's request is ambiguous, don't hesitate to ask for more details.
"""


GENRE_LIST = [
    'acoustic', 'afrobeat', 'alt-rock', 'alternative', 'ambient', 'anime', 
    'black-metal', 'bluegrass', 'blues', 'bossanova', 'brazil', 'breakbeat', 
    'british', 'cantopop', 'chicago-house', 'children', 'chill', 'classical', 
    'club', 'comedy', 'country', 'dance', 'dancehall', 'death-metal', 
    'deep-house', 'detroit-techno', 'disco', 'disney', 'drum-and-bass', 'dub', 
    'dubstep', 'edm', 'electro', 'electronic', 'emo', 'folk', 'forro', 'french', 
    'funk', 'garage', 'german', 'gospel', 'goth', 'grindcore', 'groove', 
    'grunge', 'guitar', 'happy', 'hard-rock', 'hardcore', 'hardstyle', 
    'heavy-metal', 'hip-hop', 'holidays', 'honky-tonk', 'house', 'idm', 
    'indian', 'indie', 'indie-pop', 'industrial', 'iranian', 'j-dance', 
    'j-idol', 'j-pop', 'j-rock', 'jazz', 'k-pop', 'kids', 'latin', 'latino', 
    'malay', 'mandopop', 'metal', 'metal-misc', 'metalcore', 'minimal-techno', 
    'movies', 'mpb', 'new-age', 'new-release', 'opera', 'pagode', 'party', 
    'philippines-opm', 'piano', 'pop', 'pop-film', 'post-dubstep', 'power-pop', 
    'progressive-house', 'psych-rock', 'punk', 'punk-rock', 'r-n-b', 
    'rainy-day', 'reggae', 'reggaeton', 'road-trip', 'rock', 'rock-n-roll', 
    'rockabilly', 'romance', 'sad', 'salsa', 'samba', 'sertanejo', 'show-tunes', 
    'singer-songwriter', 'ska', 'sleep', 'songwriter', 'soul', 'soundtracks', 
    'spanish', 'study', 'summer', 'swedish', 'synth-pop', 'tango', 'techno', 
    'trance', 'trip-hop', 'turkish', 'work-out', 'world-music'
]


HTML = """
<!DOCTYPE html>
<html lang="en">
<head>
  <link href="https://fonts.googleapis.com/css2?family=Gruppo&display=swap" rel="stylesheet">
  <style>
    h1.no-shadow {
      font-family: 'Gruppo', sans-serif;
      text-shadow: none !important;
    }
    .hover-item:hover {
      color: #161C32 !important;
    }
    .hover-item a:hover {
      font-size: 105%;
    }
    a {
      color: inherit !important;
      text-decoration: none !important;
    }
    .container {
      position: relative;
    }
    .apollo-gif {
      position: absolute;
      top: 70%;
      right: 3%;
      transform: translateY(-50%);
    }
    .video-link {
      font-size: 14px;
      color: red !important;
    }
  </style>
</head>
<body>
  <div class="container" style="text-align: left; margin-top: 50px;">
    <h1 style="color: #161C32; font-size: 56px;">Apollo<sup style="color: red;">AI</sup> Music Assistant <a class="video-link" href="https://www.youtube.com/watch?v=onFEQMJL7ac&t=1s">Quickstart Video πŸš€</a></h1>
    <h2 style="color: #AC83F3; font-size: 26px;">Experience personalized, intelligent music interaction like never before</h2>
    <ul style="list-style-type: none; padding: 12px 0; margin: 0;">
      <li class="hover-item" style="color: #808080; font-size: 26px; padding: 12px 0;"><span style="color: #AC83F3;">1</span> Open your Spotify Client</li>
      <li class="hover-item" style="color: #808080; font-size: 26px; padding: 12px 0;"><span style="color: #AC83F3;">2</span> Login to <a href="https://developer.spotify.com">Spotify Developer</a> website</li>
      <li class="hover-item" style="color: #808080; font-size: 26px; padding: 12px 0;"><span style="color: #AC83F3;">3</span> <a href="https://developer.spotify.com/dashboard">Dashboard</a> β†’ Create app</li> 
      <li class="hover-item" style="color: #808080; font-size: 26px; padding: 12px 0; margin-bottom: -12px;"><span style="color: #AC83F3;">4</span> Set Redirect URI to <a href="https://stuartwaller.org">https://stuartwaller.org</a></li>
      <li style="color: #808080; font-size: 20px; padding: 0; margin-top: -12px; text-indent: 28px;">The other fields can be anything</li>
      <li class="hover-item" style="color: #808080; font-size: 26px; padding: 12px 0;"><span style="color: #AC83F3;">5</span> Save β†’ Settings</li>
      <li class="hover-item" style="color: #808080; font-size: 26px; padding: 12px 0;"><span style="color: #AC83F3;">6</span> Copy your Spotify Client ID</li>
    </ul>
    <img src="file/apollo2.gif" class="apollo-gif" width='545'>
  </div>
</body>
</html>
"""


COMMANDS_MSG = """
Welcome! Tell me your **mood** to help me select the best music for you

### <span style="color: #AC83F3;"> πŸ’Ώ Standard πŸ’Ώ</span>
- **Specific Song:** Play Passionfruit 
- **Controls:** Queue, Pause, Resume, Skip
- **More Info:** Explain this song 
- **Album:** Play the album from Barbie
- **Playlist:** Play my Shower playlist

### <span style="color: #AC83F3;"> πŸ’Ώ Mood-Based πŸ’Ώ</span>
- **Genre:** I'm happy, play country 
- **Artist:** Play Migos hype songs
- **Recommendations:** I love Drake and house, recommend songs
- **Create Playlist:** Make a relaxing playlist of SZA-like songs
"""


ERROR_MSG = """
Unable to **connect to your Spotify** | Please ensure you followed the above steps correctly

Watch the Quickstart Video for assistance: https://www.youtube.com/watch?v=onFEQMJL7ac&t=1s
"""