The Scribes of Fate DLC and Update 37 base game patch are now available to test on the PTS! You can read the latest patch notes here: https://forums.elderscrollsonline.com/en/categories/pts

NoldoBot - Discord Bot to arrange Trials

Noldornir
Noldornir
✭✭✭
Hello everyone,

since in my guild we're using Discord to arrange trials and since it was very annoying to make long messages with trial rosters and even more to edit them each and every time a user wants to join in/out I created a bot that does the job for you.

Given these 3 informations:

Trial Name (in shorthand like vaa or vss)
Trial Date (in any format as long as not containing the "-" symbol)
Trial Time (in any format as long as not containing the "-" symbol)

Noldobot will create an interactive message looking like this:

biqa5iwxdz3k.png

The actual required roster will change accordingly to the specified trial (here it was VSS requiring 2 tanks, 2 healers, 5 DDs and 3 runners for portals) and the bot will add reaction-roles to allow users to join in.

Users will be able to join the trial by pressing the desired role and the bot will update the message just like this (here I'm joining as magDD):

7bx3e5nqd3q0.png


More detailed information about usage and the link to invite the bot in your own server can be found on Noldobot Website

For any further information that you don't find on the website feel free to ask here
  • brandyvicious
    brandyvicious
    ✭✭✭
    I really love the idea of this but wish that you could customize it to what roles you want for the trial and what emoji you use.
    PS5/NA: brandyvicious-
  • Noldornir
    Noldornir
    ✭✭✭
    TY for feedback mate.
  • Balastar
    Balastar
    ✭✭✭
    Bot looks cool @Noldornir , thank you for making it!
    Thing I am missing is to be able to write a little explanation about trial, for example Fun run, all welcome, training run etc.
    Now I wrote it after the time, but could have own row for it. :)
    Also a option sign as backup.
    EU/PC trading guild:
    Traders of the Covenant - Grahtwood - Elden Root - To join, contact ingame @Balastar
  • arun_rajputb16_ESO
    arun_rajputb16_ESO
    ✭✭✭✭
    This is awesome! Love it. Thanks.

    Is there a dungeon version of this too?
  • brandyvicious
    brandyvicious
    ✭✭✭
    I really love the concept of it but would prefer to put in my own details about trial name, date, and time. I would like to pick how many of each role I want for the trial. And what icons I could use for the trial. And a way to have reserves signup as well :)
    PS5/NA: brandyvicious-
  • Sparr0w
    Sparr0w
    ✭✭✭✭✭
    Hey, really nice bot! :) Just wondering if in the furure you'll have the multiple signups to be togglable, and also the removing members to allow you to do more than one person at a time (e.g. react, reply 1 in the DM to edit lineup, type 5, 6, 7 to remove 3 people at once).

    Thanks in advance :smile:
    @Sparr0w so I get the notification
    Xbox (EU) - l Sparrow x | CP 810+
    DD: All Mag + Stam
    Heal: Templar | Sorc | NB | Warden | Necro
    Tank: NB | DK | Warden
    Completions: All HM's + TTT + IR + GH
    PC (EU) - Sparrxw | CP 810+
    DD: All Mag + Stam
    Heal: Templar | Sorc
    Tank: DK | NB
    Completions: All HM's + TTT + IR + GH + GS
  • Noldornir
    Noldornir
    ✭✭✭
    Thank you eveeryone for your great feedbacks!

    I'll try to answer everyone:



    Thanks to @Balastar who gave me the idea we now have the -i option for additional infos while making a trial.

    !maketrial VSS -d thu 13 -t 20 uk -i Farm run all welcome

    will become like this:

    3zcemmreaw7s.png

    we are not forced to use -i of course since it's optional.

    Signups for reserves are currently under development but will probably not be live anytime soon (I believe to launch them in version 2.0)


    @arun_rajputb16_ESO
    Is there a dungeon version of this too?

    not yet pal but i'm working to implement 4 man content (be it vBRP or nFG)


    @Sparr0w
    Just wondering if in the furure you'll have the multiple signups to be togglable, and also the removing members to allow you to do more than one person at a time (e.g. react, reply 1 in the DM to edit lineup, type 5, 6, 7 to remove 3 people at once).

    I've always been in a conflict about multiple signups and decided to allow them, yet the option to DENY them on a specific trial sounds cool, i'm gonna work on this for next update ty for your feedback.
    The other option (multiple kick from roster) will probably be in there too just wondering:

    Why do you believe this to be necessary? Can you explain me what users in your server does to force you to kick multiple ppl at once (or maybe the same guy signing up multiple times).
    I'm not asking to criticize your request, i'm just trying to understand better the problem maybe there's a way to prevent it.


    @BrandykinsGamer

    Customization option requires HW upgrades to save (and load everytime) each and every guild specific setup. I cannot afford a better server at the present, maybe I could put those in a "plus" version of the bot but in order to do so I'd need at least a minimum of playerbase asking/willing to spend to help in mantaining it. Can't imagine this happening anytime soon i'm afraid
    Edited by Noldornir on February 13, 2020 10:09AM
  • Sparr0w
    Sparr0w
    ✭✭✭✭✭
    @Noldornir Hey sorry for the late response.

    The option to deny is because I was hoping to use this bot for both regular trials and also for carry runs, and on carry runs I ideally dont want people signing up others that I dont know.

    For the kick multiple, it's for people trolling and signing up multiple times, or if someone DM's me saying they cant make it but dont remove themself.

    Cheers :)
    @Sparr0w so I get the notification
    Xbox (EU) - l Sparrow x | CP 810+
    DD: All Mag + Stam
    Heal: Templar | Sorc | NB | Warden | Necro
    Tank: NB | DK | Warden
    Completions: All HM's + TTT + IR + GH
    PC (EU) - Sparrxw | CP 810+
    DD: All Mag + Stam
    Heal: Templar | Sorc
    Tank: DK | NB
    Completions: All HM's + TTT + IR + GH + GS
  • Tommy_The_Gun
    Tommy_The_Gun
    ✭✭✭✭✭
    ✭✭✭✭✭
    Why do I have the feeling that this kind of "bot" (basically mm) should be build-in inside the game from the get-go ? It is just kinda sad that after almost 6 years people still have to spam zone chat with "LFG Tank (insert trial name with n or v at the front)" or use 3rd party social media portals / chats...
  • Noldornir
    Noldornir
    ✭✭✭
    Why do I have the feeling that this kind of "bot" (basically mm) should be build-in inside the game from the get-go ? It is just kinda sad that after almost 6 years people still have to spam zone chat with "LFG Tank (insert trial name with n or v at the front)" or use 3rd party social media portals / chats...

    Well if ZoS wants to hire me I'd be glad to put this in-game (would work even better tbh) xD

    Would be cool to have BOTH tbh (so I can sign in discord/webapp/telegram and you can see "Noldornir is joining as ... " from the game menu) and the roster updated as well.

    Sparr0w wrote: »
    The option to deny is because I was hoping to use this bot for both regular trials and also for carry runs, and on carry runs I ideally dont want people signing up others that I dont know.

    Yup that was clear, the reason why I was at a struggle when deciding about multiple joins.

    I'm working on a new version which works pretty much the same as user interface but very different in the background and that can allow much more things like this because I really think the allow/deny multiple joins to be a must.


    Sparr0w wrote: »
    @Noldornir Hey sorry for the late response.
    For the kick multiple, it's for people trolling and signing up multiple times, or if someone DM's me saying they cant make it but dont remove themself.

    while the option can be implemented (and it will but not right-away, i'll schedule it within a bigger update) I'd recommend you to tell your users to use bot when they sign off as well.

    It's ok to DM you if they feel an explanation is needed but if you don't tell them to do it they'll never know it's much better for you if they press on the no entry sign to sign off as well (regardless of this function).

    Bad Behavior= Yooo cant be there sign me off plz
    Good one= Sign off with both + write leader "Yooo cant be there mate sry"

    When they DM me with that I just answer them "NP bro, just sign off with bot plz."

    It's just faster for everyone; your option to edit roster will never be as "quick" as their own
  • Heimdal134
    Hi @Noldornir
    Firstly very very cool bot - love it.

    One wish from me is the possibility for the admin/creator of trial to add a player with for instance command.
    !add @user -r <name of role/the emote for the role>
    or
    !addmagdd @User
    !addstamdd @User
    !addtank @User
    !addhealer @User
    !addrunner @User

    And that should then give same result as if the user pressed emote to sign up.

    Reason: you might fill runs with someones friend or players form outside a specific channel and the only possibility now is to double signup your self to reserve that spot. Would be very nice to actually be able to see who fills spot / role in roster.
    for now we manage it with messages underneath when ppl sign in an outside player, but with the speed amount of msgs that can quickly come in discord, those msgs get lost.

    Again really cool app hope you still develop it - many thanks.
  • Noldornir
    Noldornir
    ✭✭✭
    Heimdal134 wrote: »
    Hi @Noldornir
    Firstly very very cool bot - love it.

    One wish from me is the possibility for the admin/creator of trial to add a player with for instance command.
    !add @user -r <name of role/the emote for the role>
    or
    !addmagdd @User
    !addstamdd @User
    !addtank @User
    !addhealer @User
    !addrunner @User

    And that should then give same result as if the user pressed emote to sign up.

    Reason: you might fill runs with someones friend or players form outside a specific channel and the only possibility now is to double signup your self to reserve that spot. Would be very nice to actually be able to see who fills spot / role in roster.
    for now we manage it with messages underneath when ppl sign in an outside player, but with the speed amount of msgs that can quickly come in discord, those msgs get lost.

    Again really cool app hope you still develop it - many thanks.

    TYVM for appreciation and insights;

    The idea is cool and will be implemented even tho probably in a different way (this could cause issue technically speaking such as in the case there's more than 1 trial open in the same channel !addmagdd wouldn't know in which trial);

    probably will make the bot check if you already signed in or not and, in case you have, he could DM you instead asking the name of the ppl you want to bring in and filling accordingly.
    This could probably work very cool in sinergy with the tooglable option for multi-join (if multi join is enable bot asks the name in DM and fills while, if it's not, it warns you that it can't be done)

    User Mentioning tho, such as @Heidmall could't work since, in order for this to happen, the user should be mentionable in that specific server/chat so will probably be replaced by the plain name with no mention.

    Could take some time but defo gonna do this!!
  • Heimdal134
    Thank you so much for quick response and will look forward to that. :)
  • jlrooney
    jlrooney
    Soul Shriven
    Sooo lol did we make any progress with adding people to the roster? I’m running trial signups between two different guilds and not all members are always available but may be in the discord.
  • Noldornir
    Noldornir
    ✭✭✭
    jlrooney wrote: »
    Sooo lol did we make any progress with adding people to the roster? I’m running trial signups between two different guilds and not all members are always available but may be in the discord.

    "We"(?) did I suppose; it works like this:

    If USER joins once he joins for himself.

    If USER joins more than once he'll join for a FRIEND.

    When joining for the 2nd+ time the bot will ask the USER who the FRIEND is, FRIEND can either be a normal name or a mention (if he's in the channel); USER has 15 seconds to answer the bot else the join will be unsuccessful an he won't be put in roster.

    If FRIEND is another player in the guild he can sign off like he would normally via the proper reaction.

    If USER removes himself from roster both him and all of his FRIENDS will be removed.

    when someone is added as a friend the roster line will look like:

    Feanor, a friend of @Noldornir

    (Feanor is the name i dialed in the chat after joining the second time and could be a mention)
  • jlrooney
    jlrooney
    Soul Shriven
    Awesome! Thank you! Also, on a totally random note, for some reason or or another noldobot has stopped working in my discord. I’ve left him the same permissions as before but really miss my buddy. Any advice on what to do? I tried kicking and re-inviting with no avail.
  • Noldornir
    Noldornir
    ✭✭✭
    Was it tonight about the bot appearing as "offline"?
    That happens when for some reason the bot is offline and should fix itself in time.
    Might be me working correcting some major issue if and when i spot one.

    The server where it's hosted had an issue tonight and i had to manually restart and reset some other things in order for the bot to work again, usually it just restarts alone.

    The bot is not hosted on a dedicated server, that would be too expensive with no revenue of sort, so things like this can happen every now and then especially now that internet load is higher than usual.

    If that's the case it was just a temporary down and now bot should work just fine.
  • jlrooney
    jlrooney
    Soul Shriven
    @Noldornir thanks. That was it!! I was bummed. Love the bot man and so does my guildies!
  • jlrooney
    jlrooney
    Soul Shriven
    @Noldornir thanks. That was it!! I was bummed. Love the bot man and so does my guildies!

    Also, do you have a way to add subs to the roster or could there be?
  • Noldornir
    Noldornir
    ✭✭✭
    The bot is currently offline for some issue I'm investigatign into.

    It's probably related to a discord issue side so could take a while (I've contacted support and waiting for answer).

    The bot should start to work again when fixed with no action needed from server owners.
  • Noldornir
    Noldornir
    ✭✭✭
    The bot might be switched off or work unproperly for mainteance and updates in the source code in the following days.

    After this the bot should start to work again normally (actually better) without action required from users.

    I'm sorry for the inconvenience.
  • Azriael2
    Azriael2
    ✭✭✭
    Hi there! Your bot is pretty awesome, ready to go after joining. But does it have to spam so much with join messages :D?
    "Rise, red as the dawn."
  • Noldornir
    Noldornir
    ✭✭✭
    The message after a join like:

    @Azriael2 has joined as 🛡️

    is a necessity:

    in some particular cases the message editing could fail (usually if two or more ppl join the same trial within 1/2 seconds this might happen).

    So in this case (of for any other fail reason) the roster will NOT be edited but the message of the join will be sent regardless.

    Thanks to this the trial leader will be able to see who actually signed in first (also you'll be notified for new ppl joins while the message editing does not send any notification in discord.If you don't want to be notified and rather check manually you can just mute the specific channel from discord itself)

    This is the reason why the bot also pins the message (if CBA scrolling up when multiple join in-out happens you can just use the Discord built-in function to check the pinned messages).

    What I usually do and advise to avoid "messy" channels is:
    • Make a dedicated channel for the trial,
    • Keep that channel empty
    • Post the trial via !maketrial command
    • When the trial is finished (I mean after the trial happened not when it's filled) use the !purgechat command (bulk delete to cleanup the whole channel)

    In this case you should only have like:

    The trial message

    12-20 join messages (more than 12 is only possible if ppl sign out).

    In my own Server I have for example:

    Core Section
    • Core Channel (for chatting only)
    • Core Trials 1 -> I usually post trials here
    • Core Trials 2 -> I post here if i'm scheduling more than one trial at a time, let's say I post one for today in trial 1 then one for tomorrow on trial 2
    • Core Trials 3 -> as the above if i post a third trial

    You can of course have as many trial channels as you want and can name them differently (for non core runs i have 1 channels dedicated to craglorns and then 1 channel for each trial) like:

    Trials Section
    • Craglorns
    • VSS
    • VMOL
    • VHOF
    • VAS
    • VCR

    I advise you to use a similar structure to keep chats and trials separated (also after a trial ends you can just bulk delete without losing any chat you have with your mates because you purge Trial channels NOT the chat-dedicated ones.

    If

    !purgechat

    does not work (usually if the channel contains messages older than 14 days) use

    !purgechat cataclysm

    which will clone the channel then delete the original one (same result in the end just obtained in a different way).
  • Azriael2
    Azriael2
    ✭✭✭
    Okay, thanks! It's pretty hard to keep everything clean, but your tips will help us out! Keep doing good work with bot!
    "Rise, red as the dawn."
  • Noldornir
    Noldornir
    ✭✭✭
    Also I forgot to mention:

    Some player has an habit I personally hate but, beside my feelings on the matter, are just a nuinsance for ppl that want to organize a trial:

    They are in X guilds and sign in for more trials (despite those are scheduled for the same/too close times to actually partecipate both) so they wait until the last minute, check on the roster and decide if actually going/signing out.

    With the message "Nolnornir is signing off" you (trial leader) are actually able to see WHEN i did so (the time is on the message) because I b elieve it's OK to sign off from a trial if i give you enough time to find a replacement but if i do so like 20 minutes before the start depending on the role I have it might be hard to find a replacement.

    Of course "*** happens" and ppl may occasionally have problems that jumps out on the last minute not allowing them to join BUT more often these so-called problems always comes from the same users.

    Without the message you could never tell what time i signed off
  • SirPanini
    SirPanini
    Soul Shriven
    @Noldornir , I added the bot to my server and it has admin privileges. I noticed it says the roster should be edited automatically, but I have tried testing by clickin the icon and had someone else test and the roster does not change. Is this a bug?
    pav79fbg104n.png
  • GodLeSsCapTive
    GodLeSsCapTive
    Soul Shriven
    @SirPanini hey sir, I also just added the bot to my server as well and I am having the same issue, either we both missing something or there is a bug within the bot itself currently
  • GodLeSsCapTive
    GodLeSsCapTive
    Soul Shriven
    @Noldornir is there any update for us about the issue we having with @SirPanini
    Edited by GodLeSsCapTive on July 5, 2020 6:40AM
  • killrbunny
    killrbunny
    Soul Shriven
    Hi @Noldornir. I'm having the same issue as @GodLeSsCapTive and @SirPanini where the bot is logging the people entering trials in the messages below the post, but not adding them to the roster automatically. Is there a conflict between the bot and Discord after the most recent update?
  • Noldornir
    Noldornir
    ✭✭✭
    Should not be afaik, I haven't noticed on my server.

    Will check debug

    Can happen when many ppl try to join all togheter but does not seem the case
Sign In or Register to comment.