XTZ Ez Bot - Hackathon Project Cover
[Showcase] Discord Bot Help Commands with Input Examples
[Showcase] Tezos Blockchain Address Metadata Query
[Showcase] Price Actions Charts, Default 7 Days and Optional Period Argument
[Devlog] Discord Bot Creation
[Devlog 2] Discord Bot with TzKT API Implementation
A lot of people have heard about blockchain but don't seem to understand it because of the jargon and high barrier to entry. However, apps like Robinhood have successfully introduced people to cryptocurrency and blockchain technologies because of their easy-to-use interface and streamlined user experience - however, a lot of cryptocurrencies (including Tezos) aren't available on Robinhood. From that inspiration, I sought to create something accessible that would help people interested in Tezos (also known by its ticker symbol: XTZ).
Thus, I created a Discord bot that makes it easy for anyone to get information relevant to their Tezos investments and also makes it possible for anyone to make the most important basic blockchain queries. I chose a Discord bot as the medium because Discord bots are especially accessible since so many people use Discord already for class/communities/personal purposes-- so there's no external navigation to a shady website necessary to get Tezos blockchain info easily. Discord bots can also guide new users responsively to input commands with feedback, and that's what I kept in mind for the design of the XTZ Ez Bot.
What it does
"XTZ Ez Bot" is a Tezos blockchain Discord bot. Get quick and easy access to XTZ blockchain information, including price action graphs and account metadata queries.
In the Project Demonstration Video, you can see the Discord command functionalities live. There is also even user input error-catching and responses to help new users who might makes mistakes when first trying to explore the blockchain - for example, if they accidentally copy and paste an address but miss a character, there will be an 'invalid address' error Discord bot message reply. You can see this Discord Bot's input validation/error-catching and user feedback on display at 2:44 in the Demonstration Video.
How we built it
The "XTZ Ez Bot" is a Discord bot scripted in DiscordPy, a Python wrapper for the Discord API. My Discord bot also utilizes the APIs of CoinGecko, a cryptocurrency data aggregator, and the TzKT, a Tezos blockchain data explorer. To create price action graphs, the Python Matplotlib was used.
Challenges we ran into
At first, I tried to learn "SmartPy" quickly to transfer my knowledge of Python to develop Tezos smart contracts. However, I couldn't find a working faucet that would send my testnet wallet Tezos for development testing purposes. However, I'm especially proud of myself for adapting and pivoting quickly to work on a Discord bot project that could be helpful to any holder of XTZ who's also active on Discord.
Accomplishments that we're proud of / What we learned
I'd never created anything created with Tezos before this hackathon, and I watched and read so many tutorials trying to bring myself up to speed to make something cool and accessible. I am proud that I was able to learn more libraries, tools, and APIs in a short amount of time. I'm also really proud of my scoping for this 24 hour hackathon project because this is one of the shortest hackathons I've ever gone to, but the Discord bot is both functional and pretty in formatting/aesthetic!
For a 24 hour hackathon, it felt really ambitious of me to try making a project with a technology I had no experience in, and I was worried/nervous about whether I would be able to complete any project in time because I had to allocate some time to just watching YouTube tutorials and following along with Medium articles - some of which were outdated. However, thanks to the tools and excellent documentation of the TzKT explorer for the Tezos blockchain, I was able to make something I think is awesome!
What's next for XTZ EzBot
I'd love to add more features like minting and transferring tokens with the Discord bot! This could be useful for teachers who use Discord for their virtual classrooms -- with this functionality, the XTZ EzBot could be used to grant tokens or certificates to students quickly.
In addition, I'd also like to add a 'subscription' service that notifies people over Discord when there's any new transaction to their linked Tezos wallet or when the price of Tezos drops below a certain level. An opt-in Discord ping or text message might be helpful to people!