You are browsing as a guest. Sign up (or log in) to start making projects!

Ankush

@Ankush

Joined June 14th, 2026

  • 4Devlogs
  • 3Projects
  • 1Ships
  • 4Votes
Ship

IceKeem silly little helper for my channel in slack. It is stupidly simple and pretty (super tasty too!).


After Hackclub nuked "workflows" in our slack, my beloved bot IceKeem was shot dead in the carnage. After months I got time to work on this and I had a great time reviving my friend!


I am very happy with how things are and I believe the `/icekeem-blog` command output is very cool! Though I definitely have to polish up my blogs and remove the dummy ones.


Even though slack docs are great I think I had a hard time navigating through them. Github issues and other forum posts were a life saver.


Currently the three commands `/icekeem-ping`, `/icekeem-help` and `/icekeem-blog` work from everywhere in slack, but a there are other functionalities like "Welcome" message when people join. and a huge satisfying button to top it off. (You should definitely join my channel)


There are other features that I plan on working later this week, some of them are:
- App page or whatever they are called
- @mention replies
- Make the bot more flexible, so others can easily use this bot for themselves.
- Any other suggestions I might get


Made with love by Ankush

Try project → See source code →
Open comments for this post

1h 14m 27s logged

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: [...] })

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: [...] })

Replying to @Ankush

0
41
Open comments for this post

46m 18s logged

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

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

Replying to @Ankush

1
31
Open comments for this post

1h 43m 35s logged

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.

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.

Replying to @Ankush

0
20
Open comments for this post

1h 11m 44s logged

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 :prayge:

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 :prayge:

Replying to @Ankush

0
60

Followers

Loading…