Komodo/Extensions/Welcomes

From Botdom Wiki
Jump to navigation Jump to search

Welcome messages, if you don't know, are what the bot greets users with in many chatrooms. Most welcoming bots have the option of allowing each individual user to set their own unique welcome message, the option to welcome each user based on their privclass, or the option to set a welcome message for the entire chatroom, greeting users with the same message.

Komodo's welcome module is slightly different. Instead of choosing one or the other, privclass/chatroom/individual, you can choose to combine 2, or all of them, together, alongside choosing just one. This is done using something called 'Template Formatting', where it will replace an item in a template with something else. Lets go over the Welcome message commands, and then we will see how this templating works.

Another thing unique to Komodo's Welcomes extension, is the ability to reduce multiple of the same welcomes with a timer. We've all probably experienced sessions of people repeatedly timing out or refreshing to test things, and we've all probably got annoyed at the bots welcoming these users multiple times in the span of a minute. Komodo helps prevent this by setting a timer when someone leaves, and if that person joins within that set time, they won't be welcomed again. Also, the bot won't welcome users who are already in the chatroom (eg: they now have a [2] or higher number beside their name).

Usage

There are two different base commands in the Welcomes extension: Welcome, and Welcomes. Welcomes is the admin command that controls every welcome message overall. This is the near equivalent of the !wt command on Dante. Welcome is used by lower level users to set their own custom welcome message if enabled.

Welcomes

Note: There is an option to direct the command to another chatroom by inserting #chatroom (with the # symbol) into Parameter position 1, for each of the subcommands in the !welcomeadmin command. For example, typing !welcomeadmin #ChatRoom mode off will turn off welcome messages in #ChatRoom.

Another note: The names of chatrooms, privclasses, and usernames are CaSe SeNsItIvE! This means that some things might not work if someones username, privclass, or chatroom name is not in the correct case.

!welcomeadmin mode will be the first Welcomes command you will use, as the others won't work while the chatroom is in 'off' mode.

  • !welcomeadmin mode off - Turns welcomes in the current chatroom off. By default, all chatrooms are 'off' until you turn on with either of the next three commands:
  • !welcomeadmin mode chatroom - Turns welcomes in the current chatroom on in 'Chatroom' mode. Chatroom mode is what you would use to greet everyone that joins the room with the same message
  • !welcomeadmin mode privclass - Turns welcomes in the current chatroom on in 'Privclass' mode. Privclass mode is what you would use to greet everyone in different privclasses with different messages.
  • !welcomeadmin mode user - Turns welcomes in the current chatroom on in 'User' mode. User mode is what you would use to have the bot greet everyone with their own unique messages when they set them with the !welcome command

When you have a chatroom set to something other than off, you can then use these commands:

  • !welcomeadmin time 5 - Sets the time in minutes for Welcomes in which the bot wont welcome someone again when they leave. It is defaulted to 5 minutes. If you don't want a timer on the bot you can set this to 0
  • !welcomeadmin length 256 - Sets the maximum length an individual welcome message can be. This does not count a combined welcome message, but each individual part. This is mostly to prevent new members from making a super huge welcome message *for example, someone who likes to put an entire poem as their welcome.. no one really likes to see a wall of text when someone joins*, and it is the bot operator's responsibility for how long combined messages will be when they set them up. This is why the length option is here. It is defaulted to 256 characters.

Now to start setting some welcome messages!

Single Welcome Messages

  • !welcomeadmin set user UserName This is UserName's welcome message! - will set UserName's individual welcome message to 'This is UserName's welcome message!' and this is what they will be greeted with when they enter the chat if welcomes are in 'user' mode, or you are using combined welcome messages.
  • !welcomeadmin set privclass PrivClass This is a welcome message! - will set the privclass PrivClass's welcome message to 'This is a welcome message!'. Users that are in PrivClass who join will be greeted with this welcome message if welcomes are in 'privclass' mode, or you are using combined welcome messages.
  • !welcomeadmin set chatroom 'Welcome to my chatroom!' - will set the entire chatroom's welcome message to 'Welcome to my chatroom!'. Everyone who joins the chat will be welcomed with this message if welcomes are in 'chatroom' mode, whether you are using combined welcomes or not.


Now that was pretty simple to set up, wasn't it?. But what if you want to be able to customize welcome messages even further? What if you want someone to be greeted depending on what privclass they are in, as well as show their own unique welcome message, or any other combination? With Komodo's Welcomes extension, this is possible. Like I mentioned before, this is made possible with the use of 'templates', so that the bot doesn't send 2 or 3 messages at the same time when someone joins like other welcome modules do.

Combined Welcome Messages

A template replaces a certain string in a welcome with something else. For example, if I said that ${foo} was to be replaced with 'bars' in the message "I like chocolate ${foo}!", the message would look, after formatting, like 'I like chocolate bars!'. This is essentially how combined welcome messages will work. We take a certain code-word, and replace it with something else that is stored within the bot. Lets see what we can do:

  • !welcomeadmin set chatroom ${user}: Welcome to my chatroom!- This is how we set up a template. It's exactly like setting up a single welcome message before, but we just used one of those weird ${} things. Komodo looks for these ${} strings in welcome messages and replaces it with something else. In this case, Komodo will replace '${user}' with the username of the user who just joined, so it will look like 'blazer-flamewing: Welcome to my chatroom!' when I join your chat.
    • You're probably wondering how is this a combined message by now. Well, ${user} is not the only variable we can use. Here is a list of all of them that you can put in the 'chatroom' message:
      • ${user} - replaces with the username of the user
      • ${priv} - replaces with the privclass of the user
      • ${ns} - replaces with the name of the chat ('ns' stands for 'namespace')
      • ${time} - replaces with the current time in 12:00 PM format, bot's time
      • ${trig} - replaces with the bot's trigger
    • and these last two variables are how we will combine welcome messages:
      • ${privm} - replaces with the privclass Welcome message that user is in
      • ${userm} - replaces with the user's unique Welcome message

How do we combine messages? You simply put the message's template keyword (those ${} things) into the chatroom message, like so:

  • !welcomeadmin set chatroom ${user}: Welcome to my chatroom! ${userm} - This will set the entire chatroom's message to say the user's name, welcome them, and then say their own unique message (if the user has no message, you could either set the user 'none' welcome message to say something in its place, which I will explain later, or it won't say anything at all in it's place)

So, if I had a unique welcome message set for myself that says 'Break out the coffee!', and I joined, it would welcome me with 'blazer-flamewing: Welcome to my chatroom! Break out the coffee!' That's how we combine 'chatroom' and 'user' messages together.

To combine 'chatroom' and 'privclass' messages together, it would look like this:

  • !welcomeadmin set chatroom Welcome to my chatroom, ${user}! ${privm} - This would make the bot welcome the user, and then say a message specific to their privclass. For example, if you had set the privclass welcome for 'Members' as 'Pineapples are delicious and high in vitamin C!', and I joined (being in Members, of course), the bot would say 'Welcome to my chatroom, blazer-flamewing! Pineapples are delicious and high in vitamin C!'. You might find this useful for new people, as you could make the bot give new users in the Guests privclass a link to some rules, or whatever!

To combine privclass welcomes with users is pretty much the exact same way, the only difference is that you can't use ${privm}, because that would cause Komodo to explode in an infinite loop, and we don't want Komodo bits everywhere!

  • !welcomeadmin set privclass Members Welcome back to my chatroom, ${user}! ${userm} - This would welcome the user back to the chatroom, and then say the user's unique welcome message, rather than welcome the user as if they had never been in the chat before (which they obvious have, because they're in Members and not Guests!)

And finally, you can combine all three different types of welcomes together into an ultimate welcome:

  • !welcomeadmin set chatroom Halt, ${user} of ${priv}! ${privm} ${userm} - This would make the bot welcome the user, say the privclass message, and then say the user's custom welcome. Here is what would result:
    • 'Halt, blazer-flamewing of Members! Did you remember to eat a pineapple today? Break out the coffee!'
    • 'Halt, Username of Guests! Don't forget to read the chatroom rules!'

While you are in 'users' welcoming mode, you can also set a template for those welcomes. This is for if you want to change how people's welcomes look somewhat. For example, if you want the welcome to always say the user's name before their actual welcome message, yet not say anything at all for people who don't have welcome messages. While in User mode, you can change the user mode template by setting 'usertemplate':

  • !welcomeadmin set usertemplate ${user}: ${userm} - this will set the user welcome template to say their username and then their message. You can also use ${trig} and ${time}

'None' Welcomes

I mentioned before something about setting a 'none' welcome message. What does this mean? This means that you can set a welcome message for everyone who doesn't have their own welcome message, and/or you can set a welcome message for a privclass that doesn't have it's own welcome message. Basically, if you have a combined welcome message, or are in privclass or user welcome mode, and the user or privclass doesn't have anything to put into ${privm} or ${userm}, it will look for your 'none' welcome for that type of welcome. If it has one, it uses that instead, and if not, it uses nothing at all (). Here is how we set one and how it will look like:

  • !welcomeadmin set privclass none ${userm} - This will simply make Komodo use just the user's unique welcome instead if a privclass welcome doesnt exist for the user's welcome (while in privclass welcome mode)
    • !welcomeadmin set privclass Members Did you remember to eat a pineapple today? ${userm}
    • Now someone who joins in Members (me) will be welcomed with 'Did you remember to eat a pineapple today? Break out the coffee!', but if I join in a different privclass *one that hasnt been set yet*, I will just get 'Break out the coffee!'.

You can also do the same for user messages too:

  • !welcomeadmin set user none You can replace this with your own unique message by typing <i>${trig}welcome set Your message here!</i> - This will welcome users who don't have their own welcome message with 'You can replace this with your own unique message by typing !welcome set Your message here!', informing them about welcome messages, while someone else who joins who has one will get their own message instead.

There are all sorts of things you can do with welcomes now. One fairly neat example I used in my own chatroom, and how I got there, was:

  • !welcomeadmin mode chatroom
  • !welcomeadmin set chatroom Welcome ${privm} ${ns}, ${user}! ${userm}
  • !welcomeadmin set privclass Guests to
  • !welcomeadmin set privclass none back to
  • !welcomeadmin set user none Type <i>${trig}welcome set Your Message Here</i> to set your own unique welcome message!

Now when I join the chatroom, it will welcome me with 'Welcome back to BlazersDen, blazer-flamewing! Break out the coffee!', but some regular person who joins who doesnt have a welcome message gets 'Welcome back to BlazersDen, SomeOne! Type !welcome set Your Message Here to set your own unique welcome message!' and someone who joins in Guests will get 'Welcome to BlazersDen, Username! Type !welcome set Your Message Here to set your own unique welcome message!' instead of 'Welcome back to', since they've most likely never been in the chat before.

That's it for setting up welcome messages in your chat. There are just a couple more things to the Welcomes command to go over:

  • !welcomeadmin reset chatroom - will set the chatroom message to nothing again.
  • !welcomeadmin reset privclass Members - will set the privclass Member's message to nothing.
  • !welcomeadmin reset user none - will reset the 'none' option for users to nothing.
  • !welcomeadmin reset all - will reset everything in the chatroom! You need to confirm this by typing !welcomeadmin reset all yes.

If a user doesnt like welcome messages (boo on them!) they can type !welcome unwelcome yes to disable themselves from receiving welcome messages. You can manage the No-Welcome list:

  • !welcomeadmin unwelcome show - Will show you the users listed to not receive welcomes.
  • !welcomeadmin unwelcome del Username - will remove Username from the No-Welcome list.
  • !welcomeadmin unwelcome del all - will clear the No-Welcome list.
  • !welcomeadmin unwelcome add Username - will add Username to the No-Welcome list

And that's it for the !welcomeadmin command! Now lets see how users can set their own messages themselves, using the !welcome command:

Welcome

  • !welcome - will tell you what your current welcome message is, if it exists.
  • !welcome set Break out the coffee! - This will set your unique welcome message to 'Break out the coffee!'.
  • !welcome reset - will set your welcome message to nothing.
  • !welcome unwelcome yes - will make the bot not welcome you anymore. You need to confirm this with 'yes' as the last parameter.
  • !welcome rewelcome - will make the bot start welcoming you again!


And that is it for Welcomes! I hope that this cleared up everything you needed to know about setting up Welcome messages with Komodo. It is quite a mouthful, but I tried making this extension as user-flexible as possible! If you are still confused, or have suggestions how to make this more understandable, or to report any errors, don't hesitate to note me!