{"id":13826737,"url":"https://github.com/allerter/geniust","last_synced_at":"2025-07-24T23:16:13.945Z","repository":{"id":44032095,"uuid":"297081122","full_name":"allerter/geniust","owner":"allerter","description":"A Telegram bot that provides song and album lyrics along with their annotations on Genius.","archived":false,"fork":false,"pushed_at":"2024-04-09T12:43:20.000Z","size":4722,"stargazers_count":8,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T09:13:27.684Z","etag":null,"topics":["genius","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/allerter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-20T13:22:28.000Z","updated_at":"2025-03-05T05:46:39.000Z","dependencies_parsed_at":"2024-10-22T22:58:03.445Z","dependency_job_id":null,"html_url":"https://github.com/allerter/geniust","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allerter%2Fgeniust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allerter%2Fgeniust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allerter%2Fgeniust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allerter%2Fgeniust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allerter","download_url":"https://codeload.github.com/allerter/geniust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251674585,"owners_count":21625645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["genius","telegram-bot"],"created_at":"2024-08-04T09:01:43.354Z","updated_at":"2025-04-30T09:14:01.528Z","avatar_url":"https://github.com/allerter.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003ch1\u003e\n  \u003cimg src=\"logo.png\" alt=\"GeniusT logo\" width=\"200\" align=\"center\"/\u003e\n  Genius T\n\u003c/h1\u003e\n\n\n![status](https://img.shields.io/uptimerobot/status/m786636302-b2fa3edeb9237ae327f70d06)\n![GitHub release (latest by\ndate)](https://img.shields.io/github/v/release/allerter/geniust)\n![build](https://github.com/allerter/geniust/workflows/build/badge.svg)\n[![Test\nCoverage](https://api.codeclimate.com/v1/badges/74d5611d77cb26f4ed16/test_coverage)](https://codeclimate.com/github/Allerter/geniust/test_coverage)\n[![Code style:\nblack](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat\u0026labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![Telegram\nLink](https://img.shields.io/static/v1?label=Telegram\u0026message=Click%20Here\u0026color=blue\u0026logo=telegram)](https://t.me/genius_the_bot)\n\nA Telegram bot that provides music info and lyrics from Genius.\n\n## Features\n\n\u003e -   [Genius/Music Info](#geniusmusic-info)\n\u003e -   [Genius Account](#genius-account)\n\u003e -   [GeniusT Shuffle](#geniust-shuffle)\n\u003e -   [Song Lyrics](#song-lyrics)\n\u003e -   [Album Lyrics](#album-lyrics)\n\u003e -   [Telegram features](#telegram-features)\n\n### Genius/Music Info\n\nGeniusT allows searching for songs, albums, artists, users, and song\nlyrics. Furthermore, users can access tracks in albums, information\nabout those tracks, view the artist info of those tracks, and about any\ninformation that one could want! All entities (albums, artists, and\nsongs) are deep-linked; for example, users can view the artist of a song\njust by clicking on the artist\\'s name, and from there they can go on to\nviewing that artist\\'s songs, albums, the features on those songs and\nall that can be discovered!\n\n### Genius Account\n\nUsing Genius\\'s OAuth2, users can easily log into Genius in the bot and\nview their account\\'s details (including unread messages), and even vote\non album/song descriptions when viewing them.\n\n### GeniusT Shuffle\n\u003cimg src=\"geniust/data/shuffle.jpg\" alt=\"GeniusT Shuffle logo\" width=\"480\"/\u003e\nGeniusT offers a basic genre-based music recommendation system that\noffers users song recommendations from about 20K songs based on their\nfavorite genres and artists. Users can get their preferences from their\nGenius or Spotify account or enter them manually. By logging into their\naccount through OAuth2, GeniusT will try to generate user's preferences\nbased on their account activity. If the user chooses to go the manual route,\nthey either input their age (and let the bot guess\nthe genres) or select them manually. Afterward, users can also add their\nfavorite artists from the available ones or finish without any favorite\nartists (each user must have at least one favorite genre). Available\ngenres:\n\nFore more information about the recommender itself refer to the\n[GeniusT Recommender](https://github.com/allerter/geniust-recommender)\nrepository.\n\nUsers can start using shuffle by sending the /shuffle command. After\nsubmitting their genres and adding their favorite artists, their\npreferences are saved. From then on, sending /shuffle will return 5\nrecommended songs based on their preferences. For any of the 5 songs, if\nthey can be found on Genius, they\\'ll be deep-linked to be viewed. There\nalso be deep-links for preview and download URLs if the song has a\npreview URL for song previews or a download URL or ISRC ID for\ndownloads. The bot will send the full song if the song has a direct\ndownload URL, but if it has an ISRC ID, users will be directed to\nanother bot.\n\n### Song Lyrics\n\nThe bot provides song lyrics using Telegram messages. The annotated\nfragments of songs are linked to their annotations which are uploaded by\nthe bot in a separate channel meant for annotations. Meaning when users\nview lyrics for a song, they can click on highlighted lyrics that will\nlead them to the annotations right there in Telegram.\n\nCurrently **annotated** lyrics are only open to the developers.\n\n### Album Lyrics\n\nAs for the albums, users can either view the tracks and their lyrics\none-by-one (as they normally would) or they could have the lyrics of all\nthe tracks all in one place in three formats:\n\n-   PDF: A PDF containing the album description, a table of contents\n    containing song titles linked to the page of the song lyrics, and\n    the lyrics of all the songs in the album.\n-   ZIP: A ZIP file containing TXT files of each song\\'s lyrics.\n-   TELEGRA.PH: Returns a link to a *telegra.ph* page which in turn has\n    the album\\'s description and links to other *telegra.ph* pages that\n    each has the description and the lyrics of a song. This feature\n    isn't maintained, so some things might look off.\n\nCurrently this feature is only open to the developers.\n\n### Lyrics Customizations\n\nThe bot allows users to choose between including and excluding the\nannotations from the lyrics. Users can also choose not to include ASCII\nor non-ASCII characters in the lyrics. One of the uses of this could be\nto remove English lines from songs that have been translated into Arabic\nor Persian so that only the translated lines remain.\n\n### Telegram Features\n\nUsers can search Genius navigating the inline menu which can be accessed\nusing the `/start` command. Alternatively, you could directly reach to\nthe desired feature using commands:\n\n-   **/start** start the bot\n-   **/album**: search for an album\n-   **/artist**: search for an artist\n-   **/song**: search for a song\n-   **/song_by_lyrics**: search for a song by lyrics\n-   **/user**: search for a user\n-   **/lyric_card**: get a lyric card by providing lyrics\n-   **/lyric_card_custom**: build a custom lyric card\n-   **/shuffle**: Get music recommendation\n-   **/bot_language**: set bot language\n-   **/login**: log into Genius/Spotify\n-   **/cancel**: cancel the current task\n-   **/donate**: donate to the developers\n-   **/help**: more info about the bot\n-   **/contact_us**: send us a message\n\nUsers can also perform searches by using the inline search feature. For\nexample:\n\n-   searching songs: `@genius_the_bot .song we will rock you`\n-   searching albums: `@genius_the_bot .album hotel diablo`\n-   searching artists: `@genius_the_bot .artist Queen`\n-   searching users: `@genius_the_bot .user lemonade`\n-   getting lyric cards: `genius_the_bot .lyric_card we will rock you`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallerter%2Fgeniust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallerter%2Fgeniust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallerter%2Fgeniust/lists"}