Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jch254/scope-lex-handler
Scope is a Facebook Messenger bot that identifies songs from lyrics/titles
https://github.com/jch254/scope-lex-handler
aws bot facebook-messenger-bot genius genius-api genius-lyrics-search lambda lex messenger-bot serverless spotify spotify-api
Last synced: about 1 month ago
JSON representation
Scope is a Facebook Messenger bot that identifies songs from lyrics/titles
- Host: GitHub
- URL: https://github.com/jch254/scope-lex-handler
- Owner: jch254
- License: mit
- Created: 2017-06-20T01:16:18.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-07-04T07:48:17.000Z (over 4 years ago)
- Last Synced: 2024-10-05T04:51:34.272Z (about 1 month ago)
- Topics: aws, bot, facebook-messenger-bot, genius, genius-api, genius-lyrics-search, lambda, lex, messenger-bot, serverless, spotify, spotify-api
- Language: TypeScript
- Homepage: https://m.me/scopebot
- Size: 202 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [Scope](https://m.me/scopebot)
[![Scope Vimeo demo](https://img.jch254.com/ScopeVimeo.png)](https://vimeo.com/225540115 "Scope Vimeo demo - Click to Watch!")
Scope is a Facebook Messenger bot that identifies songs from lyrics/titles. Scope returns detailed information about songs it matches including title, artist, album, release date, recording location, BPM, key, samples, featured artists, producers and writers (where available). Scope also returns direct Spotify, Apple Music, Soundcloud, YouTube and Genius links to the song. Scope is powered by Genius and Spotify APIs so matches are slightly biased towards hiphop and rap music (Genius started off as Rap Genius).
It's easy to scope a song - just send a message starting with 'scope' followed by the lyric/title you're after (e.g. scope waves). Scope will reply with details of the closest match. If Scope matches the wrong song, simply reply with the word 'wrong' to select from the next best matches.
Hit up Scope at [https://m.me/scopebot](https://m.me/scopebot) or [https://facebook.com/scopebot](https://facebook.com/scopebot)
### Technologies Used
- Node.js
- TypeScript
- Terraform
- Lex
- Lambda
- CodeBuild
- Facebook Messenger Platform
- Spotify API
- Genius API### What's next for Scope?
- Add/improve sharing functionality
- Add suggestions
- Add more intents/interactions
- Add Scope for other media - movies/TV/quotes etc.> _Do you fools listen to music or do you just skim through it? - JAY-Z_
---
### Environment variables
- SPOTIFY_CLIENT_ID
- SPOTIFY_CLIENT_SECRET
- GENIUS_ACCESS_TOKEN
- PAGE_ACCESS_TOKEN### Running locally (with hot reloading)
1. Set environment variables listed above
1. Configure event in [/src/test.ts](./src/test.ts) (see [/src/LexEvent.ts](./src/LexEvent.ts) for event structure)
1. `yarn run test`### Deployment/Infrastructure
Refer to the [/infrastructure](./infrastructure) directory.