A downloadable project

For this TriJam... I made a Discord for TriJam! Please join!

I discussed this briefly with Rocknight Studios on their Twitch stream the other week. They said they didn't have time to setup and run another Discord server, but that a community-created TriJam Discord would be great and that I was welcome to create one, so I did.

This Discord server is free and public to all TriJam participants and interested parties, and I'd love to see you all join. A server is nothing without its members after all!

Link

You can join the Discord server from the above widget or this link: https://discord.gg/DScpGwU

Features

The Discord is big and fully-featured, though of course currently empty. It has channels for all sorts of game dev discussions, memes, hall-of-fame for TriJam winners, all that stuff. It's designed to be grown-into.

Discord Bot

The main feature I'm really proud of and worked really hard on (and that took all the time...) is a Discord Bot I built specifically for the TriJam server! It's a work-in-progress and I intend to add a lot more features, however right now it handles greetings, filtering language in chat, some fun silly commands like telling jokes, and there's a small chance that it may post a random meme or animal picture after every user post.

The main hurdle is hosting the bot 24/7. The bot works perfectly as-intended when I'm online with it running from my machine (a laptop), but my computer can't be the source of the bot, as I'm frequently offline, away from the internet, on crappy internet, or frankly just don't want an extra program running in the background.

There are some methods for freely hosting the bot, namely with heroku, but of course there are drawbacks to each one. I'm honestly fine with paying to host it properly with AWS or some similar service, however I need more time to figure out that part of the project.

Development

The core Discord server was created in well-under 3 hours, but I did spend more than 3 hours on the Discord Bot I made specially for this server, and I consider the bot's development separate from the server's development generally as creating the server vs. creating the bot were just two entirely different tasks I was in different modes for.

Open-Source Bot

This was my first Discord Bot ever, and my first time seriously using JavaScript. I just barely touched JS in high school years ago, but web development never interested me, so I focused on C/C++, Assembly, and game development instead.

The bot's horrible code is entirely open-source and available for download below. It's currently all in a single JS file, and honestly that probably won't change. Organization is not a priority for me on this project; I just want it to do what I want, which the bot has been very successful at so far!

To-Do

The server is not expected to receive any systemic changes in the near-future, but there's a lot to do! I need to setup some additional bots, post more in various channels, and do a lot of extra work for the Discord Bot, which I'd like to carry as much of the server as possible. I have big plans for it, not all of which I know for sure is even possible for me... The ideal would be having the bot auto-post whenever someone submits a new game to the TriJam, but this is very difficult and very possibly straight-up impossible for the bot to do.

Regardless, here's my current checklist of tasks to implement for the bot/server, in vague order from most-important/desired to least important:

  • Let users self-assign roles by reacting to a specific post. Seems feasible enough to code.
  • Let users self-assign roles with commands. Easy to code, just need to do it!
  • Auto-upgrade users to new roles for TriJam veteran levels, gaining an XP for each TriJam they've completed! This is a bit tougher. Ideally we could link an itch.io account to each Discord user and auto-detect when they upload a new TriJam game to itch and upgrade them that way, but that's probably impossible for this bot, so we'll likely have to rely on manual upgrading, possibly with slight automated assistance when someone posts their TriJam game in #showcase.
  • Give TriJam winners a special role for their accomplishment! Similar to the above, probably just going to have to be manual.
  • Auto-post when Rocknight starts streaming (easy via other bot, possible with my own!)
  • Auto-post when a new itch game is uploaded to the jam, IF possible...
  • Let more synonyms activate commands
  • Let @ing the bot work as a command prefix instead of !
  • When a message gets filtered, DM the poster. Copy-paste their original message back at them in the DM so the data isn't lost. And tell them what word flagged the filter. And if they think the word shouldn't be in the filter, to go to #server-suggestions.
  • Automatic inspiration posting. Use this wallpaper API: https://unsplash.com/developers
  • Add more fun chatbot-like interactions, like if you nag the bot it nags you back, in-jokes with the bot, silly automatic replies. Silly conversational stuff, equivalent to Google's special commands like do a barrel roll
  • Explore other event options: https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=channel
  • Consider using more embeds: https://discordjs.guide/popular-topics/embeds.html#using-the-richembedmessageembed-constructor

Download

Download
bot.js 13 kB

Comments

Log in with itch.io to leave a comment.

(+1)

This is awesome! Thank you and looking forward to seeing how this evolves! 

Thanks!