Yapper is a slackbot that I decided to make for my personal channel. Similar to Neon's Zeon bot. Hes a little aggressive but its okay!
ali
Check their projects out: screamify, text mirror, peek, Supremely Uncomfortable Place, volumes, Website, toadster, logbook
薛叡宇
Check their projects out: BallsDex Config Filler, Centring Disaster, EXIF Extractor
fireentity
Check their projects out: Airfleet, Voidborne, Saberstalker, n-u-l-l, Hacksaber
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Welcome back! This is version idek of Yapper. At the time of sending this message I have spent 18 hours and 14 minutes on this project. Here is what I have to say. As you guys probably know, I wanted to switch the codebase to Javascript. Now, I've made some questionable choices with this bot. First, I started off with Python slack bolt, then I moved to using Javascript due to memroy issues that i had in the past (which actually was a very real issue I had), however I had realized that the Osu! wrapper for the API I was using at the time didnt have good alternatives for js so I just decided to have two different startup commands. Fast forward a bit, I got sick of that setup and moved back to my old python version and made some significant security and safety changes since then. And then, I wanted to have the bot work in javascript once again... because python was just not cutting it. I realized that ever since #rhythm-gamers existed, there was no point in me keeping the osu API. Blah Blah Blah. Here are some changes I made for the newest javascript version (i promise this will be the last time):
Added a leaderboard feature (with a somewhat better algorithm)
Added a score submission form for people to submit their rhythm game scores through #rhythm-gamers
Worked a bit more on #music-roast and made the last.fm API usage better
Added daily quotes as per @Aman Puttagunta’s request. Yapper will now send a quote from an API at 9am EDT everyday. You can also view one for yourself by running /yapperquote
Added a custom response for when a user's message has Java in it, Yapper will respond with the java boilerplate
This bot now runs on Nest! I'm planning on moving all the last fm stuff here such that it doesnt clog up my main channel!
Anyways have fun, enjoy things and dont forget to code!
(go star the repo, I would really appreciate it!)
Today I basically just implemented 2 features and wrote some docs. A bit more in detail I took inspo from a random message to make a custom slackbot response when someone says java it responds with public static void main string args. I implemented that and had it respond with the java emoji. Not only that, but I also made a quote scheduler. Everyday at 9 am it sends a quote from an api i found. You can also get a quote instantly but running /yapperquote
but this is only shown to you. I also wrote up some documentation but I need to update it a bit more tomorrow
Okay! So basically, I spent this whole day rewriting the codebase into javascript. I realized that python wasn't cutting it since some complex stuff like dynamic loading and reloading the whole codebase in python was not ideal and would have a very finnicky solution.
Alright I wrote up some actually proper documentation and fixed the leaderboard issues, it doesnt even need a database anymore!
I honestly have no clue wtf ive been doing this. Welp first, I fixed the issue where the bot tweaks out and think every message in every channel it was in was a last fm username and started crashing out. I fixed that, pretty easy, also I wrote some documentation. The rest of the time was me just figuring out how to deal with this admin panel and mostly just fixing, i ended up dropping it (for now)
Alright so far there were a shit ton of unfortunate events. My bot got added to confessions and people were spamming the shit out of and made it into Grok 2.0. This taught me something very important, people are weird and they made yapper say weird shit. Also I needed to add a kill switch. thats exactly what i did. By running /yapperleave
it kicks the bot from the channel im gonna change this such that i can completely blacklist the bot from certain channels.
In this session, I literally rewrote THE ENTIRE CODEBASE from python into javascript. Now you see, I'm a dumbass. So I decided to torture myself just so I can get a tad bit more performance in my bot, especially when i host it to nest. So everything except for the osu api has been rewritten in javascript. The reason I left out the osu api, is because it relies on a third party wrapper for python, and so its specific to python. My next step is to either find a javascript wrapper, or use the normal shitty api!! Also go join #kashyap-does-coding-ig if you wanna see me build this sick bot
I made some more documentation and decided to test out the osu! API. For some reason, the actual osu! API is confusing and really weird to deal with. Like wdym I can't get global ranking through the API??? So I did some research and found two really good 3rd party osu api's that are actually good and surprisingly easy to setup and work with!!
Okey, in this session I started off with the bot. Firstly, I made a join message that gives a join message when someone joins the channel! (This went horribly wrong in summer of making). After that, I made a mention command. When someone pings the bot, it swears at you. But if you put text beside the ping, then it will use the hack club ai to give a reponse to the user. I also used last.fm api to grab my spotify listening and send a message based on that!