Telegram bot that searches Podcast in iTunes store.
The solution that you need to share with your friends your love for podcast :3
Telegram bot that searches podcast info in iTunes store.
This is a bot made using TypeScript(TS) because I want something to test the my new coding skill. And, like so, also the Test Driven Development(TDD), the first time that I've done anything with TDD.
Two new things in one project? Yes, and a third one is Continuos Integration(CI) just to be able to push running code at a master branch to be running at the server. And, a fourth one, is making a bot that supports it multiple languages.
Like so, once I've "finished" this code I intend to write an article at Medium talking about it. All the knowledge that I've got it because some one laid a trail so that I can build my own on it.
First of all, talk to @podsearchbot.
By default all the commands are in English, but you can see if que same command is available in your language.
There're three ways of doing that:
The inline mode works both in the Podsearchbot chat or any other chat:
@podsearchbot podcast name
Example:
@podsearchbot B9
Just press search button available, it will ask you for podcast name and then does the search.
/search
Just open it a chat with Podsearchbot and then use it like this:
/search podcast name
Example:
/search The Mission
If you have any other questions about it just use it the help command:
/help
You can build yourself a bot just like this one, just follow the procedures listed in BUILDING.md.
If you want to understand the "whys" of I did what I did, you can read ALL THE CODE... Just joking, I've wrote some of the pros and cons of my approach on the macro vision of the code. If you want to know more, read:
This bot is up and running at Heroku through the Github integration, that means that each new push to the master
branch means that is the code serving the bot. You can see more about how does it run at the server by looking at the Procfile. You can also deploy yourself this bot into Heroku through:
There's also a Travis CI integration.
Please, I'm not a native/fluent english speaker, so whether you see a variable name wrote the wrong way or even some comment where I've wrote something with the wrong "past perfect way of life" or something like that, please let me know it. Not always is just about the code, but rather making it more clear to other people to learn from it.
So, whether is code or not you can help me out making this code more accessible by reading the CONTRIBUTING.md.
I would love to say that SemVer or anything like that is used but, in my personal experience, this kind of approach doesn't work very well with me, the guy who could be committing in this project for two weeks in a roll and leave it for almost one year with no simple npm update
. So, no versioning system is used.
Since I will be keeping this README up to date with any major change and I don't use any versioning system to log all the fixed bugs or previous projects updates, you can still have a taste of what comes next and what is being under analysis right in the Projects tab.
Consider buy me a coffee:
Or even becoming a patron:
You can understand more why I choose to accept donations and not sells adds in SUPPORT.md.
Like many Open-Source Software (OSS) the MIT license is used, more about it in LICENSE.