Slack Bot Icekeem
- 5 Devlogs
- 8 Total hours
A simple bot that takes care of my Channel! Alongwith being very nice it is tasty as well!
A simple bot that takes care of my Channel! Alongwith being very nice it is tasty as well!
Along with that I also added tags of my blogs to my carousal. Most of the hard part was debugging why my Home page wasnāt showing up properly. It was because I forgot to add error reporting 
I also spent a long time trying to add images to my hope page. The images didnāt just work! After a lot of time googling, I think it is because the image block canāt render svg files 
Lastly, I also added @mention replies to my bot. There are a few fun pre-determined replies and when the input matches none, it passes the input to a free tier model of Gemini called Gemini Lite Flash 3.1
I had a lot of love and passion for this bot, and such also had high expectations with the payout. But unfortunately I only got 3x multiplier. I was sad, but I was ready to improve on the mistakes I made, I wanted to know what went wrong.
After I read the reviews, I was a little bit happier. They all said my bot was really good made! But unfortunately it didnāt work.
I spent the next couple of hours trying to find out what I did wrong!
ā¦
ā¦
ā¦
I couldnāt. I lastly resorted to asking AI, I gave it full details. And it gave me my answer⦠the reason my bot shut down was because I was using the --user tag while starting my bot using systemd 
I was devastated. I will never emotionally recover from this.
But the all good reviews kept motivated to keep on working. So i kept working on my other projects with full motivation! And yesterday I took some time off to complete the final few features I planned on adding to the bot.
Currently the bot is ācompletedā as per my book, but I will still add new features, updates when I see a interesting one!
Currently this is probably the last devlog of IceKeem in Stardance.
Made a carousal for my blogs!
This was surprisingly simple due to slack block builder! I just used the default carousal they provide and put in my data in-place of the dummy texts :)
But there was a problem! If someone invocated the /icekeem-blog command from #channel123 it the msg will be sent to my personal channel! That was bad and I was having a hard time figuring out how to get the channel id where the command was invocated.
The function I was using:
await client.chat.postEphemeral({
user: presser,
channel: ChannelID,
text: "text",
blocks: [...],
})
I donāt know why but I was under a illusion that respond function canāt do the blocks that my carousal usesā¦
When I tried, it worked!
await respond({ text: `text`, blocks: [...] })
Just as I had planned I improved the welcome thing.
When ppl join my channel the bot sends a welcome msg with a big fat squishy asmr satisfying button. This time I worked on to make the button a one-time-button and only allowing the joinee to press the buttonā¦
Ah yes! I also spent some time finishing up the banner image. Looks cool imo. But there are overall 3 different views I encountered in stardance.hackclub.com. And it looks bad in 2 of them due to the image being croppedā¦idk what I should do⦠the natural thing to do would be to bring everything to the centerā¦but thatād look uglyā¦idk what to do. I think Iāll finish this project with this devlog. I still have to make the README, but that shouldnāt take much time, iāll do that in githubās online editor
Itās been a smooth and calm day for me. So smooth that something feels offā¦idk but everything I had in mind worked super easily⦠something definitely is offā¦
Anyway, first thing I did was make the /icekeem-help command. It was easy - just like a print statement. Also added link to the blog in /icekeem-blog command.
I also made the event triggers for people joining/leaving my channel. There probably are bugs rn⦠but weāll fix them when we encounter them. The slack docs is amazing! I google stuff and almost always the first thing in the slack docs has my answer, I donāt want to admit but the google ai in the search also is usefulā¦
The last thing I did before sleeping was make the sleep function work⦠I couldnāt, lastly had to resort to ai making the code for me.
I didnāt try to partition my code in different files like Iād like to. I will, if the codebase becomes more than 500+ lines.
Today morning I tried the blog command and found that the link is not working. Easy fix, I path was defined in the top layer insead of inside meta.
I also added buttons for the people who join my channel. It is great you should check it out!! Making this frustrated me a little, but it worked by the end. I had to ask AI for help with making the button green like my previous workflow bot had. Fortunately a single option did the trick.
After done with coding, I made the ābannerā(?) for this project. It is still a wip, but it is something. I think Iāll change the bg for the screenshots of the bot working. But that is a task for future me.
My next steps will be to make the button one time use and the āping meā message be sent in thread.
The bot setup and a basic Ping/fetch function to my own blogs!
There is not much to say about my progress since things arenāt going very complex rn. I made a ping command that takes a int for timeout/sleeping (which doesnāt work rnā¦sob)
While following the tutorial I saw them using the Cat Facts API, and I remembered that I also made an API for my blogs! So I used that to fetch the latest BLOG that I have updated. Currently the site of blogs and the blogs arenāt really finished eitherā¦so weāll just have to work with what crap had the last time I worked on it
The one thing that took some time was figuring out how the arguments work. Another thing that took some time is FIGURING OUT HOW TO USE A FUNCTION DEFINED IN ANOTHER FILE š I couldnāt figure that outā¦probably will ask my friends for help.
I plan on adding triggers for when ppl join my channelā¦also is buttons available now? Those chonky buttons were great, I hope they are available to use in a bot 