Page 1 of 5

Discord bot

Posted: Tue Oct 24, 2017 10:22 pm
by Diablo_
Hi!

We are currently implementing some fixes and improvements for the LIHL Discord bot (thanks to grief-code and hazardous for their work).

This topic shall serve to inform you about the implemented changes as well as to receive feedback / bug reports / feature wishes from your side.

What we have done so far:
  • Game owner can now freely !unsign and !sign like any other player. In this case the player who signed after him will become the new game owner.
  • The expiration time has been increased from 5 minutes to 10 minutes.
  • The last player signing for a game is now also written to the chat (less confusion when many people quickly sign).
  • Player names will no longer be displayed with italic style when they have "_" in their name or similar.
  • All signed players will be tagged/notified when the game starts.
  • Added command !tagplayers which tags/notifies all currently signed players.
  • Disabled unimplemented command !connect which would make the bot crash and restart, aborting the current game.
  • Implemented command !isvouched <player> to see if someone is vouched or not (was also previously unimplemented and would also crash the bot).
  • When being signed for a game simply typing !sign will now refresh the expiration timer, no more !unsign required.
  • Fixed a small bug with !lihlsign admin command.
  • Improved the banning system for the mod team (they no longer have to rely on adding and removing players to/from the banned-players discord group).
  • Added !info command to get info about running games.
  • Players are now only being able to sign when not being in a running lihl game.
  • Reversed ordering of !bot command.
  • Added basic anti spam protection for !start and !sign commands.
  • Stats command like !ihs work with parts of names.
  • Compare command.

What we currently still have on the TODO list:
  • Possibly improve the anti early-sign system (don't block observers, unblock players faster after game end).
  • Challenge command.
  • Lihlunsign admin command.
  • Owner (with player confirmation/vote?) can abort the game.
  • Maybe make the vouching system simpler for the mods.
  • Fix another small !lihlsign bug.
  • Check for ent-wide bans for !isvouched (and when trying to !start/!sign)
  • Show remaining ban length with !isvouched cmd.
  • Tag LIHL Candidates group once a game starts.
  • Anything else?

Re: Discord bot

Posted: Tue Oct 24, 2017 10:26 pm
by Jamo
I would really like to see something like !forcehost or !convert4s. So often, one could simply play 3s 6 signed players, but mostly this fails due to people not unsigning etc, you all know it.
If the owner could do something like force the game with all currently signed players, that would be nice. However, maybe in order to reduce abuse, one has to implement that all players have to agree with !y oder similar.

Re: Discord bot

Posted: Tue Oct 24, 2017 10:45 pm
by KiwiLeKiller
To do:
- Make Diablo_ moderator again!

Re: Discord bot

Posted: Wed Oct 25, 2017 1:52 am
by HazarDous
Jamo wrote:I would really like to see something like !forcehost or !convert4s. So often, one could simply play 3s 6 signed players, but mostly this fails due to people not unsigning etc, you all know it.


Given we've increased the expiration time from 5 to 10 minutes, it would indeed be nice if someone could abort to start a 3s when there is no more 8 players. @Diablo_ Could you give the !starter the ability to abort the game? Could potentially lead to abuse but worth a try.

Re: Discord bot

Posted: Thu Oct 26, 2017 12:20 am
by Diablo_
Hm, I'm not a big fan of the owner being able to abort the game. Smells like plenty of abuse/drama ^^ And if we make the other people have to !yes it they might as well just !unsign xd
I'll put it on the list but low prio =)

Added today:
  • The bot will tag/notify all signed players when the game starts.
  • Players can tag/notify all currently signed players with the command !tagplayers (don't spam it).

Re: Discord bot

Posted: Thu Oct 26, 2017 10:26 pm
by Diablo_
Added:
  • Disabled unimplemented command !connect which would make the bot crash and restart, aborting the current game.
  • Implemented command !isvouched <player> to see if someone is vouched or not (was also previously unimplemented and would also crash the bot).
  • When being signed for a game simply typing !sign will now refresh the expiration timer, no more !unsign required.
  • Fixed a small bug with !lihlsign admin command.

Re: Discord bot

Posted: Thu Oct 26, 2017 10:33 pm
by TinSoldier
can we rename !challenge to !jihad @diablo_

Re: Discord bot

Posted: Sat Oct 28, 2017 8:42 am
by nicolai123
Maybe get a !refresh command for restarting timer instead of having to !unsign and !sign again? I know its a small thing but it would still be kinda nice.

Re: Discord bot

Posted: Sat Oct 28, 2017 8:44 am
by Kreutertee
nicolai123 wrote:Maybe get a !refresh command for restarting timer instead of having to !unsign and !sign again? I know its a small thing but it would still be kinda nice.

You need to read more carefully. :)

All you need to do is !sign

When being signed for a game simply typing !sign will now refresh the expiration timer, no more !unsign required.

Re: Discord bot

Posted: Sat Oct 28, 2017 8:46 am
by nicolai123
Oh true sry, i even spent time reading it to make sure it wasn't there :D. My bad.

Re: Discord bot

Posted: Sat Oct 28, 2017 9:17 am
by Meshtar
I think that there is no notification when game expires now

Re: Discord bot

Posted: Sat Oct 28, 2017 2:22 pm
by Diablo_
Meshtar wrote:I think that there is no notification when game expires now


I'm quite sure it is working. If you noticed games vanishing the past days without any message it was probably cause I restarted the bot which kills the current game. And keep in mind the timer is 10 minutes now. Anyway, I'll test it sometime.

Re: Discord bot

Posted: Sat Oct 28, 2017 2:42 pm
by KiwiLeKiller
@Diablo_

I got 2 questions regarding this statement:
"Only being able to sign when not being in a game."

First question: Is this going to apply if someone is in-game or just if he is signed for a game which is currently running?

For instance, if I signed for a game, but I didn't show-up for any reason (legit reason let's say, like I couldn't connect to b.net or couldn't spoofcheck by whispering to the bot, so I had to sit), will I be able to !start or !sign for a game while the game I was signed for is running?

Other example: Someone starts 2s, I don't sign, but we manage to get 3s, so owner swaps me in. Will I be able to !sign while still in-game?

Second question: Is it going to consider any ENT game, or just LIHL games?

Let's say I am playing 1200+, or any other game hosted by ENT like DotA, will I be able to sign?

Re: Discord bot

Posted: Sat Oct 28, 2017 3:39 pm
by Meshtar
@Diablo_ please we need some kind of automute feature if possible. Since we have 5y olds in lihl who spam the bot with !sign like insane and completely flood the channel and overload the bot so it doesn't take commands as it should be doing

Re: Discord bot

Posted: Sat Oct 28, 2017 4:06 pm
by Diablo_
@Kiwi
Grief-Code implemented the anti early sign system today.
You are only blocked from signing if you really are a player in a currently running game. If you signed and were swapped out you aren't blocked. If you didn't sign but were swapped in you are blocked. Currently all ent games are considered but I think it will be changed to LIHL only games. He is also aware that players are blocked for a short time after the game has already finished and will see if it can be improved.

@Meshtar
Added to todo