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

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!

Ship #2

IceKeem is a slack bot that helps me out with my channel!

This is the 2nd ship for my bot, and is on the smaller side.

This update, I added the home page for my bot, added @mention replies. There are some fun pre-determined replies for @mentions, but when none match, the input is passed down to an AI to answer.

I learnt a lot while making this bot, had a lot of fun. I got to know a lot about slack bots and how slack works.

I am really proud of the banner image I made! Apart from that, I am so happy to be able to bring back the chonky button that a user gets to press when they join my channel!

Trying out my bot

Most of the bot commands like /icekeem-ping, /icekeem-blog and /icekeem-help work from anywhere, but if you want to use @mention you have to join my channel. #ankush-loves-icecream

You should defo join my channel :3

I hope you have fun with my bot!

Features in a glimpse

  • 3 commands /icekeem-ping, /icekeem-blog and /icekeem-help
  • Personal channel join and leave triggers
  • Button interactions
  • Home page
  • @mention replies
  • 1 devlog
  • 3h
  • 7.78x multiplier
  • 26 Stardust
Try project → See source code →
Open comments for this post

3h 19m 16s logged

Slack bot home page done!

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

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

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

Some BTS

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

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.

0
0
29
Ship #1

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

2
1
83
Open comments for this post

1h 45m 5s 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.

0
0
54
Open comments for this post

1h 13m 48s 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:

0
0
78

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…