Olorin is an advanced Telegram music bot written in Golang. It allows users (or admins/moderators) to share songs with dynamic emoji reactions and a Twitter profile link for further engagement.
Below are the key features of the bot:
- Music Sharing: Users can share songs in MP3 format. Each shared song has essential metadata like the title, artist, and genre.
- Dynamic Emoji Reactions: The bot provides a set of emojis (๐, ๐, ๐ฅ, ๐ฅฐ, ๐) that users can tap to react to the shared song. The count of each emoji reaction updates in real time.
- User Choice Memory: The bot remembers the last emoji each user tapped. If a user changes their reaction, the bot updates the counts accordingly, ensuring that each user's reaction is unique at any given time.
- Twitter Profile Link: Each shared song includes A Twitter profile link. It allows users to follow the source or artist for more updates. The link is formatted to prevent Telegram from showing a web preview card, ensuring a clean and focused user interface.
- Command Deletion: When a user shares song using the
/sharemusic
command, the bot deletes the command message to keep the chat clutter-free. - Concurrency-Safe: The application uses mutex locks to ensure that the emoji counts are updated atomically, making it safe for use in high-traffic groups.
- Debugging Enabled: The bot runs in debug mode, logging essential information for monitoring and troubleshooting.
- Grab a key from Bot Father.
- Update
BOT_TOKEN
and song details in config.json
First, you'll need to install the Telegram Bot API package for Golang:
go mod init main
go mod tidy
Fire up the bot:
go run .
Alternatively, you can deploy your own copy of the app using the web-based flow:
Screenshots of the bot are available here.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the Unlicense License - see the file for details.
(c) 2023 Finbarrs Oketunji.