v100.0 (8/12/23) RoboTop has officially shut down. It's been an incredible five years. Thank you for everything <3 - : ========================= v99.0 (5/28/23) automod, logging, and the mod log have been disabled also, you can no longer add the bot to new servers today's coding jam: https://youtu.be/8yUDr7BQYEo v98.0 (2/15/23) i am colon destroyer of worlds Zoo has been removed from RoboTop and ported to a standalone slash command bot! Data has been automatically transferred https://gdcolon.com/zoo/ v97.0 (9/9/22) The XP system has been disabled! Please switch to my new bot, Polaris https://gdcolon.com/polaris/ (that's all, lmao) v96.1 (6/5/22) you've probably noticed the bot is laggy lately. turns out it's from the user database. so i decided to do something about it - set up a new caching system for users/servers - if i did everything correctly, the lag should be obliterated by this - pray - !! SAVED ROLES HAVE BEEN REMOVED - takes up way too much database space, i'm sorry - !! USERNAME AND AVATAR LOGGING HAS BEEN REMOVED - honestly i just hate the system for this one, since it has to send across multiple servers - optimized a lot of database stuff and purged hundreds of thousands of empty entries - zoo: - fixed bug where obtaining an animal you never had from the stash gives you NaN of it - fixed auto rescues wiping your entire zoo. whoops! (all animals have been restored and a special item was given for each one lost) - fixed diverse curse not working or removing anything - fixed not being able to private your zoo via dashboard - fixed not being able to obtain api key - other stuff, probably In other news, I want to shut down the bot. It's not a money issue, I just hate maintaining most features and it's more exhausting than fun Nothing is set in stone yet, but I'll probably make a doc going into more detail later. Zoo will be moved to a new slash command bot, along with some of the fun commands like thisvid and place. Vague twitter thread - https://twitter.com/TheRealGDColon/status/1533516635356684291 today's coding (+mental breakdown) jam: https://youtu.be/EJMf1NdrYjo v96.0 (5/28/22) long time no see! i'm still alive, just busy with other projects - added a new zoo mechanic! - no seriously, it's a literal mechanic - r!z mechanic, have fun - added r!z stats - displays lots of info about your zoo such as animal count, score, all cooldowns, etc - r!z me for short - completely changed how zoo data is stored - all user data should have been automatically updated to the new system - expect bugs (hopefully not bad ones) - probably lots of other small zoo changes that i'm forgetting - internal tweaks to r!thisvid + it now replies to the message with the twitter url - added r!place public/private, which lets you view your server's place with a public image url today's coding jam: literally every deco*27 song v95.1 (4/10/22) yet another zoo update, with a very simple feature i thought of months ago but totally forgot about - added the zoo stash! - every server with >50 members has a random animal in their stash - use r!z stash [animal] to swap one of your animals for the one in the stash - viewing a relic now always shows the equip button. r!z relic and r!z equip have the exact same function now - this is only for relics, normal items remain unchanged due to some special ones like paintbrush, nazar, etc - animal trophies now require you to meet their requirement in order for their emoji to show - e.g. you can still equip a fox trophy whenever you want, but it will only show the fox emoji if you have enough fox score - completely reworked the gryphon leader, it's still really good don't worry - curse of blindness now hides the extra info shown when a zoo leader triggers - fixed certain curses preventing you from rescuing an animal after a quest ends - fixed some issues with r!z view not showing quest animals that you otherwise have 0 of - fixed crown not taking quest animals into consideration - fixed quest animals sometimes not being returned correctly (ping me in the support server if you were affected) - not zoo related but you can now type {prefix} in custom command descriptions to reference the server's prefix today's coding jam: https://youtu.be/cNoy_b_JYU0 v95.0 (4/6/22) robotop made it on the final r/place 2022 canvas!! huge props to everyone who contributed, i definitely wasn't expecting it it's over in the bottom left corner (https://place-atlas.stefanocoding.me/?id=tx2ovx) - r!place has been updated! like, a lot - rewrote a LOT of old code, because i'm not stupid anymore - tweaked the canvas design a little - added a button to view your cooldown - the color list is no longer misaligned lmao - added a new 'milestones' button, wonder what it's for 🤔 - probably some other extremely major features that i'm forgetting - more zoo changes, of course - reworked candle, it now reduces more time the closer your curse is to expiring - tweaked moving box again, it now starts at 120 minutes and reduces by 4 for each item - necklace now prevents you from finding pairs while under a weakened curse happy placing! v94.2 (4/4/22) felt like sitting down and fixing stuff. so i sat down and fixed stuff - removed all caching from the XP code. this might break stuff or slow things down but hopefully it fixes/reduces the issue where level up messages send multiple times - fixed r!recolor not sending a message after successfully recoloring - fixed r!addxp always embedding to the log channel regardless of if compact mode is enabled - optimized dm code a little - zoo balance changes - contract now curses you for a random time between 4-8 days - candle no longer grants a luck bonus if your curse is weakened - items now weaken moving box by 3 minutes instead of 5 - useless/"joke" items no longer count towards both moving box as well as your total item count - made no changes to r!place, definitely not related to the bot's pfp appearing on the final r/place canvas haha today's coding jam: https://youtu.be/LXn3FNYzvwo v94.1 (4/2/22) Hey, I owe you all an apology for yesterday. A rich investor guy said he might be interested in buying my bot for a big hecking amount of money. So in order to impress him I made the bot overly corporate while he was scouting it out. Unfortunately, he told me it sucks and endorses "cruel animal treatment" and "illegal organ trade" or something dumb like that. All the changes from v94.0 have been reverted. I have made a severe and continuous lapse in my judgement and I don't expect to be forgiven. - Colon (p.s. april fools lmao) v94.0 (4/1/22) Hi! In order to ensure the best possible user experience, we've been working hard to make RoboTop a lot more professional. - Removed all jokes and informal responses from the bot. - Removed several commands that did not meet quality standards. We understand that these changes are sudden and may take some getting used to. However, we know what's best for the bot (and you don't), so all criticism will be ignored. Thank you for your continued support! v93.4 (3/7/22) zoo turned 1 year old! that's old enough to not drink! here's some small updates also sorry for the bot lag i hate it too - added a new relic (moving box), obtained normally - added a new curse (fogginess) - buffed curse of disobedience trigger chance from 25% to 33% (weakened ver. from 15% to 20%) - reworked exhausting curses, they now raise your cooldown by less depending on how much time is left on your curse - renamed "persistant curse" to "persistent curse". my brain is hollow - renamed "8ball" to "8 ball" - added r!pull as an (unlisted) alias for r!zoo - spaces are no longer required when typing item names (e.g. r!z use spiderweb) - fixed basilisk leader triggering when you don't have a quest, leading to a glitched message - fixed curse of patience causing the shop to think your inventory changed v93.3 (2/14/22) made the r!zoo shop more spicy - an extra special trade now appears on mondays, wednesdays, fridays, and weekends - the type of trade is dependent on the day of the week - e.g. the weekend trade always sells animals with equal pricing, such as 3 for 3 or 1 for 1 - special trades are always placed last in the shop, and are generated in addition to the normal stock - some of these trades have unique mechanics that can't be found elsewhere! - trades for tuesday/thursday will come when i think of good ideas - fixed an oversight where generated trades with 5+ animal score would always contain a rare - e.g. you would always see 1 rare + 2 commons, but never just 7 commons - this has been fixed, both can now appear in shops - common animals now have a chance to be bought or sold in pairs (e.g. 2 cats and 3 dogs) - this appeared in custom shops plenty of times but would never generate naturally - adjusted item prices a little other zoo stuff - equipping the sack relic now immediately restores 2 shop purchases - fixed shop purchases not triggering the sack relic if you equip it directly before clicking the buy button - fixed necklace (and some other things) not weakening zoo curses. sorry this went undiscovered for so long - fixed curse of slumber still allowing items to be used - fixed notifications/auto rescues firing directly after rescuing an animal if you're fast enough today's coding jam: actually i was in class v93.22 (2/2/22) haha look at all those twos most of these features are out already but i should probably log them here and call it an update - added a new lag timeout system for commands - if a command takes too long to run, the bot will cancel it and react with ⚠. this is just a sign to run the command again - timeout is 10 seconds for most commands, but 5 for zoo and 8 for any database/moderation commands (e.g. prefix, place, kick, etc) - you can now provide a splitter character for the {commafy} dynamic response - e.g. {commafy|1234567|.} will return 1.234.567 - also fixed commafy not working properly with decimals - added {zoodata} dynamic response which returns misc zoo info like color, leader, etc - VERY VERY ROUGH/EXPERIMENTAL FEATURE: putting an exclamation mark before a dynamic response (e.g. {!embed|color}) will force it to run last zoo stuff: - you can now name common animals when using the wand item (e.g. r!zoo use wand chicken) will exchange a rooster as usual - attempted to fix some issues where lag would allow you to rescue multiple animals at once - kitsune leader now requires animals with fluffy tails rather than any tail (had to nerf, was way too powerful) - r!zoo help is no longer affected by certain curses (disobedience, patience, etc), since it's the same as r!help zoo - curse of downtime now prevents auto-rescues from activating (they can still be stacked but will not be consumed) - added a secret new relic, may or may not be hidden in the console of the zoo site v93.2 (1/18/22) - r!mimic and r!paste now use a single webhook instead of creating/deleting a new one each time - apparently you can override the name/pfp when sending a webhook message, bots like tupperbox do this - this should make both commands more reliable, with less lag/ratelimits - both commands can also be used in threads now - tweaked how the dynamic response system handles xp (should lead to less instances of "Level N/A") - added {hexcolor|random} dynamic response (also works by just doing {hexcolor}) - r!account and zoo reminders now use your zoo color - zoo: specified that weakened curse of slumber can also find stopwatches (it always could) - zoo: renamed curse of uncertainty to curse of blindness - zoo: added two new items (safety pin + feather) v93.1 (1/15/22) - robotop's pfp/icon has been updated! it's now way higher quality and the eyes are no longer different sizes (ew) - thank you to trigam and stringy for making a new delicious vector version! - reminders are now handled on a separate process, so they should send even if the bot is offline! yay no more buggy and unreliable reminders - added more messages to most of the bot's random pools (ping responses, dms, loading messages, etc) zoo stuff: - added three more very nasty curses - added a new item - added notifications, auto rescues, and hex code to the zoo site - fixed auto rescues being affected by disobedience curse or similar today's coding jam: https://youtu.be/slt_Bav8nsQ v93.0 (1/6/22) zoo stuff: - added a very annoying new zoo curse - zoo relics/items can now be used by typing the emoji instead of the name (e.g. r!zoo use 🍪) - r!z curse now contains a few shortcut buttons to remove/weaken/reroll your curse if you have the right items - nazar and 8ball can now be used with curse of invisibility - you can now exchange animals by typing the rare animal's name (e.g. r!zoo exchange wolf) - using an item that raises your cooldown now un-cancels any cancelled notifications or auto rescues - fixed the zoo quest confirmation message not expiring properly - fixed the zoo shop sometimes having the same item on both sides of the trade place improvements: - r!place now has a few shortcut buttons (view canvas, view colors, toggle notifications) - using r!place in DMs now lists your cooldowns across all servers - redesigned the r!place color list and changed "lightblue" to "cyan" (both still work) - redesigned place notifications and added a shortcut to the server you placed a pixel in other shenanigans: - added r!quote gex (thank you trigam for transcribing 27 minutes of enter the gecko quotes!!) - fixed r!mimic and r!paste's "you can't use this in threads" message appearing even if the command is disabled - the "time" field can now be left blank when adding timed roles on the dashboard (defaults to 0 mins) today's coding jam: https://youtu.be/ZYwDEkO9sYk v92.2 (1/3/22) oh it's 2022 now nice - r!mute is now r!timeout! - wave goodbye to crappy mute roles because now there's a proper timeout feature. thank you discord - old automatic unmutes should still work but anyone who's permanently muted needs to have their roles manually readded v92.1 (12/31/21) - completely rewrote r!kahoot's awful code. the command was also fully reworked and uses buttons now! - added slash command support for account, autocomplete, color, rate, and uwu - probably other stuff but i forgor, anyways happy new years! today's coding jam: https://youtu.be/ANp0qch3XVM v92.0 (12/20/21) i'm back!! got busy with other projects, anyways here's a massive zoo update - some new zoo animals have been spotted! - apparently they do cool things, but you'll have to get their attention first. maybe rescue some animals that they like? - spoilers: this is a very large new mechanic, but this is all the information you get :troll: - reworked a few relics - flashlight now decreases the chance to find items on quests, making other rewards more likely - twin cherry now reduces your rescue cooldown by 30 minutes when you rescue a pair - satellite now has a 5% chance to auto rescue but raises by 1% for every 3 remaining rescue notifications (up to 20%) - moai is now obtained from finishing 150 days worth of quests (previously 20 long quests) - added three new quests - added two new curses - added a new relic (obtained normally) - added a new item - decreased the item quality of stopwatch, calendar, and joker (should be slightly cheaper in shops) - the paintbrush item now accepts color names (e.g. "orange") - running r!zoo when you can rescue your next animal in less than 60 seconds now cancels and refunds your next notification or auto rescue - added rescue/exchange quotes to all animals missing them other stuff for people who still have no idea what zoo is (sorry) - completely rewrote r!rate so it's not awful anymore - fixed random seeding being extremely terrible - bot name/avatar changes are no longer logged (too buggy) - made some small internal improvements to r!gd (still really poorly written, gonna have to redo this one in the future) - added {charcode} and {char} dynamic responses - {joined} and {created} dynamic responses now support milliseconds (because they didn't before??) - lots of small internal tweaks just a heads up, this zoo update might be hilariously busted or unbalanced depending on how you play the game i'll try my best to monitor and listen carefully to community feedback! join the robotop server with r!server thank you for being patient with this update!! <3 today's coding jam: everything v91.0 (11/11/21) sorry for the lack of updates, been busy with other projects. still am, but i felt like taking a break anyways here's a quick zoo thing i put together today - added a few cosmetic zoo relics obtained by reaching certain goals - more will inevitably be added over time - cosmetic relics can be equipped to a dedicated slot which do not interfere with normal relics - decreased max shop purchases from 5 to 4 - using r!zoo when a quest finishes now rescues an animal alongside showing the quest results - added the ability to pin animals to the top of your list with r!zoo pin - misc bugfixes, tweaks, etc etc today's coding jam: https://youtu.be/vij74IBUHs0 v90.0 (10/12/21) more zoo updates, how original - redid a LOT of code for r!zoo and set up a new system to make things easier to program - completion percentage is now shown next to your zoo score - 100% means you have one of every (common and rare) animal, 200% means you have two of every animal, etc - for that reason, it's normal to jump from 99% to something like 150% upon getting one of every animal - added {zoo|%} dynamic response to display completion in custom commands - you can now view other people's zoos! (finally) - use r!zoo view [member] or r!zoo view [member] [animal name] - requires the member to be in the server, and have their zoo visibility set to public - you can now trade multiple animals at once - r!zoo trade [name] [your animal] [their animal] [amount] - bit of a risky addition so please report any bugs/exploits you find. i'll give you uhh idk a cookie - you can enable/disable having a publicly viewable zoo with "r!zoo public" and "r!zoo private" - removed public zoo from r!account - reworked how the generous curse works - fixed being able to trade for animals the other person has 0 of, resulting in negative animals (lmao) other stuff: - rewrote r!account entirely, new code is half as long and doesn't hardcode anything - the bot now recognizes server avatars and uses them in most cases. r!info [user] provides both avatars - fixed the dashboard "invite me!" link not including slash command permissions - if you can't use slash or context menu commands in your server, reinvite the bot (you don't even have to kick it) - misc fixes and stuff i probably forgot who even knows anymore today's coding jam: https://youtu.be/Su3iWTf_rpM v89.1 (10/2/21) - added arguments to {variables} for custom commands (using %1, %2, %3...) - e.g. {var|greeting|Hi there, %1!} {greeting|Craig} would return "Hi there, Craig!" - pizza and cookies are no longer sellable in the zoo shop, starting tomorrow (but can still appear for purchase) - curse of invisibility now affects the zoo shop menu + now displays a skull next to curse responses - added barry from bee movie to r!quote (thank you trigam!!) - fixed all sorts of issues with r!kahoot god i should really just rewrite the command today's coding jam: https://youtu.be/h-HMdNsCFus v89.0 (9/26/21) a brand new zoo mechanic is in store!! (yay?) - r!zoo shop has been added! it's a... zoo shop - each day the shop will have a new set of random item/animal trades - it's perfect for collecting a specific animal or just selling some items you don't want - you can make up to 5 purchases at once, and you regain one purchase every 8 hours - the shop remains the same across all servers and time zones - every item has a hidden 'price' to keep the trades relatively fair - e.g. paintbrush is cheap, cake is expensive, alarm clock is never sellable :troll: - the code for generating shop trades is probably the most math i've ever put into a single command oh god help me - special thanks to the members from the rhythm doctor discord (especially huan and willflame) for helping me pull it off - keep in mind some trades are intentionally better/worse than others, but don't be afraid to share overall feedback - fixed an embarrassing typo in the whale rescue message that has existed for months - fixed r!zoo sort displaying the wrong response - increased the character limit for join/leave/ban/level messages from 1500 to 5000 - added {multiplier} dynamic response which returns a member's XP multiplier - added a random option to r!sfx - readded # of days next to timestamps in r!info - fixed some bugs with prefix parsing in dms (using "r! " or "@robotop") this weekend's coding jam: the entire deltarune ch. 2 soundtrack v88.5 (9/20/21) zoo balance changes! - alarm clock buffed from 3 notifications to 6 - calendar is now a new rare item that adds 31 notifications - existing calendars (7 notifs) are now stopwatches which grant 15 notifications - short quest animals buffed from 1-2 to 1-3 - short quest items buffed from 1-2 to 1-4 - short quest length increased from 2 days to 3 - medium quest animals nerfed from 2-5 to 2-4 - medium quest items nerfed from 3-5 to 3-4 - long quest animals buffed from 3-8 to 4-8 - long quest items buffed from 4-8 to 5-8 - long quest length reduced from 8 days to 7 (that is all) v88.4 (9/15/21) - rewrote r!penguin because the code was a mess - added WAY more penguins to r!penguin list and redesigned how it looks - some listed penguins now pick from a pool of multiple images, such as r!penguin gangsta - if you really want a specific penguin you can use r!penguin [type] [seed] - added {unmark} dynamic response which escapes discord markdown - added {contains} dynamic response which returns the # of times a string contains a substring - fixed r!color and r!tweet using inline replies instead of the old @ replies v88.3 (9/11/21) more small fixes from over the past few days - bulk delete logs are now logged with .txt files and no longer stored online - you can now tweet videos and gifs with r!tweet - using r!tweet without arguments now shows what account you're linked to - time-parsing commands (temprole, mute, remind, etc) now support 10 or 13 digit unix timestamps - e.g. "r!remind 1631279421 you stupid" would set a reminder for 9/10/2021 at 9:10 and 21 seconds - online leaderboard no longer displays the number of members with each level role (it was inaccurate due to caching) - joker zoo item now reduces your cooldown by 4 hours (previously 5) - adding support for up to 100x multipliers through r!xpconfig (also 1x multipliers) - added {server|icon} dynamic response - fixed {args} being able to execute dynamic responses - fixed the dashboard crashing if you have a thread in your server (oops) - fixed online leaderboard not loading default pfps for people not in the server - fixed zoo site sometimes showing animals that you don't have either version of - fixed buttons not appearing for r!account and r!modlog - fixed r!ban sometimes sending 'user has been banned' even when there's an error - fixed r!recolor new not working or creating roles today's coding jam: https://youtu.be/kD6TZpDaWr8 v88.2 (8/28/21) whole lot of minor fixes, rolled out over the past week or two - zoo tweaks as usual - zoo quests now only give relics that you don't currently have. once you have all relics they're exchanged for items as usual - quest animals are now counted towards 'unique rares' on the site - dm only curse displays a skull before messages now + adjusted the messages to be more clear on how the curse works - dynamic responses support up to 25 url buttons now (previously 5) - deleted messages logs now display if the message was a reply or slash command usage - r!invite no longer sends the invitation link in dms - fixed most buttons not being disabled after clicking - fixed r!ban buttons not working (hopefully) - fixed r!sfx thinking most regular vcs are stage channels - fixed r!uwu not reading message replies correctly - fixed deleted message logging not working been busy with school + other projects lately so sorry for the lack of major updates. got some ideas i'll look into eventually^tm today's coding jam: https://youtu.be/VoGQ1oxpff8 v88.1 (8/17/21) hee hoo interactions - added a few slash commands, just to test things out (dunsparce, gdbox, kahoot, fbi) - added a few context menu commands, just to test things out (uwu, info, rank) - added {channel|thread} dynamic response, returns true/false if its a thread - added a parameter to {unix|...} which divides the timestamp by 1000 (for secs instead of ms) - fixed a lot of discord.js v13 bugs, not worth mentioning all of them - most notable bug was a lot of embeds not being posted, e.g. warn/ban/automod logs - fixed randomized join/leave/xp responses being separated with "\n" instead of an actual line break - fixed r!remind not defaulting to hours when entering a number <= 24 - fixed custom command disabled channel list being empty - fixed custom command placeholder texts appearing as "undefined" - fixed {repeat|...|0} dynamic response defaulting to 2 repetitions - disabled paste and mimic in threads since webhooks cant be used there - disabled r!sfx in stage channels, will take another look at this some other time - decreased relic chance for short zoo quests from 10% to 5% - rewrote r!slowmode to work with the new time parsing system used by r!remind/mute/etc today's coding jam: top secret v88.0 (8/11/21) not many actual new features this time around, but this is still a major update because it took a lot of work discord.js v13 was released which meant i had to go through all my code and fix a whole lotta stuff if you come across any bugs (there will definitely be some) please report them in the support server - added "reply something" option to custom commands, it supports dynamic responses and replies to the message - added {message} dynamic response with basic variables like timestamp, tts, url, author, id, etc - increased custom command limit from 100 to 128 - all join-related events (welcome messages, timed roles, etc) now only trigger once the member passes membership screening - you can now get emojis by doing r!emoji [id only] - removed r!react since it really wasn't that great - added what the dog doin to r!sfx (you're welcome) - probably lots more things i missed since 99% of the changed code is just refactors v87.0 (8/6/21) - added 2 new sets of zoo animals (for a total of 50!!) - i accidentally shattered the fabric of reality and some existing animals have been rearranged - panda has been moved from rare koala to rare bear - the new rare for koala is ??????? - the old rare bear has been removed entirely - zebra has been moved from rare horse to a new common - the new rare for horse is ??????? - xp multipliers can now be stacked! - enable through the dashboard, located at xp -> edit multipliers -> multiplier priority - it literally just takes all your multiplier roles and multiplies them together - for example, if you have a 2x, 3x, and 4x role - you get a 24x multiplier! - please don't actually use this feature it's so hilariously busted - additionally: multiplier roles can now be set up to 100x rather than the old limit of 10x - added {#|text} dynamic response which does literally nothing. mainly useful for leaving comments - fixed "system" messages (from joining/pinning/boosting/etc) giving XP today's coding jam: https://youtu.be/MmX6Qkpm2mY v86.0 (8/3/21) - new xp setting: multiplier priority! - this setting allows you to change which multiplier role should take priority if you have multiple - appears on the dashboard in the same area where you add multipliers - available options are highest multiplier, lowest multiplier, and highest role - can be used to make 1x multipliers to "cancel out" other ones - roles that disable xp gain always take priority - new dynamic responses! - {bot|optional: user} returns true/false depending on if the user is a bot - {bit} performs a bitwise operation on two numbers (AND, OR, XOR, etc) - {bbit} works identically to {bit} but uses and returns binary numbers - {embed|outer} sets some text to appear outside of the embed - using r!remind without a unit (e.g. r!remind 3) now defaults to hours instead of minutes - fixed {args|#} dynamic response not returning 0 if there are no arguments - fixed several issues with zoo curses not being removed after expiring - fixed an error message appearing before being redirected after logging in to the dashboard - added "re" as an alias for r!remind - added "r!emoji +" and "r!emoji a" as an alias for "r!emoji add" - added "r!emoji -" as an alias for "r!emoji remove" - made a big boy internal change for how messages are sent, hopefully doesn't lead to any bugs today's coding jam: https://youtu.be/h-JRVMUPXWE v85.1 (7/25/21) inevitable bugfixes after the massive dynamic response overhaul - fixed empty variables not being read - fixed XP not displaying correctly in level up messages - fixed join and level up messages not pinging users even more zoo stuff - added weakened versions of curse of invisibility and humiliation (now every curse has a weak variant) - curse of invisiblity now displays a message when attempting to click a button - relic balance changes: - buffed frying pan bonus from 20% to 25% - buffed lantern bonus from 30 minutes to 60 minutes - buffed satellite chance from 7% to 8% - nerfed juice box time from 5-30 to 5-20 extra things - r!info now uses discord's fancy formatted timestamps - added some more one letter aliases for convenience - "a" -> r!account, "c" -> r!color, "f" -> r!fbi, "u" -> r!uwu v85.0 (7/21/21) custom commands + dynamic responses have been completely rewritten! along with fixing horrible old code, dynamic responses have been moved to a class that can be used anywhere in the bot. here's what's new, in a nutshell: - join, leave, ban, and level up messages now have support for {dynamic responses} - including embeds! - the 'post image' action in custom commands is now 'post file'. URLs with videos, audio, etc are now supported - multiple 'post file' actions are now allowed in a single custom command - raised the max number of custom command actions from 12 to 16 - the execute command can now be used in DMs lots of new dynamic responses have been added! - {\n} adds a line break - {joined|} returns the time since the user joined the server, in seconds/minutes/hours/days/weeks/years - {created|} is the same as {joined} but returns when the user created their discord account - {limit||} truncates text to a specific length, leaving only the first X characters - {apos|} adds a possessive apostrophe to the message, e.g. "craig" -> "craig's" or "james" -> "james'" - {hexcolor|} gets a hex code from a color's name, e.g. "red" becomes "ff0000" - {floor|} and {ceil|} round a decimal down and up, respectively - {precise||} rounds a number to a fixed amount of significant figures - {base|||} converts a number to or from a different base, e.g. base16 - {channel|slowmode} returns the slowmode for a channel, in seconds - {roles} returns the number of roles the user has - {role|random} selects a random role that the user has - {role||...} has new properties: mentionable, hoisted, and external - {embed|image|} attaches an image to the embed - {file|} attaches a file to the response as usual, all new commands have been documented here: https://robotop.xyz/customcommands/dynamic since i rewrote the code, a handful of existing responses have also been improved! - {embed|footer, author, and thumbnail} now allow you to provide a custom image URL - {role} can now target a specific role ID, e.g. {role|1234567|name} - {emoji} now returns a random server emoji if no arguments are provided - {button} no longer converts URLs to lowercase (why did it even do that in the first place??) - {var} now returns "undefined" for undefined variables and "" for blank variables - {nth} now has an extra option to remove the actual number, leaving only the extra letters - probably some other stuff that i'm forgetting and here's some other fixes + improvements - r!remind no longer requires a message to be entered, if left blank it will write a random reminder for you - page navigation buttons should be a bit less buggy now - reaction roles can no longer be assigned to voice channels (lol) - added yet another zoo item (8ball) - added a few item-specific messages when equipping zoo relics, to display jokes or extra info - nerfed the magnifying glass zoo relic (having 5+ of a common animal now counts as having the rare version) - buffed the magnifying glass zoo relic (once you have every common and rare animal it will find animals you don't have 5 of) i tried my best to make sure that existing custom commands and join messages don't break from this update if you come across any broken commands or messages, you have full permission to ping me in the support server (r!support) thank you for continuing to support this heck of a bot! i really enjoyed hyperfocusing on this little overhaul. today's coding jam: every vocaloid song that thefinals has charted in rhythm doctor https://www.youtube.com/playlist?list=PLivEE7I7krsoy5htT8YPI5TSyrJC_x-lQ v84.3 (7/13/21) - rebalanced r!zoo quests - short quests have a higher curse chance and longer ones have bigger rewards - fixed dm and channel embeds/buttons being combined together in custom commands - improved the spam automod system (timestamps are now compared more accurately, messages can no longer be counted twice) - added a handful of new replies when clicking buttons not meant for you - (zoo) fixed being able to search for common animals by the rare's name, if you don't have that rare animal - (zoo) fixed trading with any weakened curse triggering the weakened generous curse effect v84.2 (7/10/21) - more r!zoo stuff as usual, this is my life now - added a powerful new item and relic, both with interesting but risky mechanics - slightly increased the chance for the shopping cart relic to find items (should be more effective now) - added several new rescue quotes for animals that didn't have them - fixed the lure/satellite items being able to finish quests for you instead of rescuing - you can now type {embed} with no arguments in custom commands to make the response embedded - the {embed|color/footer/title} dynamic responses now double as variables (e.g. {embed|color} returns the current color) - fixed XP multipliers not being considered when using r!rank in a voice channel today's coding jam: https://youtu.be/M92c6pl10u0 v84.1 (7/2/21) - modlogs now fill up a second database once the first one gets too big - congratulations to the massive server that almost hit the database size limit (you know who you are) - fixed missing pfps in r!paste - increased relic chance and max items/animals from long zoo quests - added on/off emojis to r!account - added "recolour" and "recol" as aliases for r!recolor - r!modlog now uses buttons for the online modlog link today's coding jam: https://youtu.be/IZJnKK1NbiA v84.0 (7/1/21) another big boy zoo update!! this dumb gacha command is surprisingly fun to work on for some reason - zoo relics have been added! they do stuff! - relics can now be equipped with r!z equip for passive effects - some effects are pretty basic (e.g. lower cooldown) while others can totally alter playstyle - you can only equip a relic every 12 hours but can unequip at any time - there are currently 12 obtainable relics, more will be added over time - i will be monitoring which relics people use and listening to feedback, so expect nerfs or rebalances - added a new mechanic for weakening curses! - curses can be weakened through a new item, or from one of the relics - weakened curses are slightly less annoying and easier to remove - not all curses have weakened versions but the majority of them do - the chance for finding a pair of animals is now individual from items, meaning you can find both at once! - the item/pair chance is unmodified, this just means that finding a pair won't prevent you from finding an item - rescuing an animal now lists any items or curses that modify your next cooldown (e.g. +3 hours from curse) that was probably confusing to people that don't care about r!zoo so here's some other stuff - custom commands have better error handling and will now display error messages instead of simply not responding - {url} dynamic response should actually work now - fixed XP multipliers not working with voice channels (hopefully?? someone please confirm this one) - cleand up dashboard redirecting a little more today's coding jam: https://youtu.be/v8hPlHx-zDo (rhythm doctor please stop exposing me to bangers) v83.1 (6/25/21) - added {button} dynamic response that lets you add up to 5 URL buttons - added zoo to r!dashboard - added public zoo to r!account and rewrote the command a little - r!help now uses buttons instead of a giant wall of URLs at the bottom - the dashboard should now redirect you to the page you were at before logging in today's coding jam: https://youtu.be/lRttXAUze9g v83.0 (6/23/21) - added an online zoo page! - it's a neat little site that displays all your animals, items, etc - it can be accessed from a button when viewing your zoo - only you can view it by default but there's an option to make it public - URL is robotop.xyz/zoo/[userID] or just robotop.xyz/zoo for your own zoo - huge thanks to stringy for helping with the page design! (shoutout to flexbox) - embeds in r!zoo, r!top, and r!timers are now navigable through buttons! (modlog soon™) - all page-related commands (e.g. r!top 2) still exist as usual - this is probably really buggy so let's see what happens - zoo animals obtained via zoo quests now have a high chance of being the same type as the rare animal you sent - e.g. sending a shark on a quest makes the reward more likely to contain aquatic animals - zoo inventory/list now indicates if an animal is on a quest - custom commands are now capped at 250 recursive dynamic response executions - this is mainly just to prevent crashes from people who find ways to make infinite loops - e.g. "{username}#{discrim}" would be one execution, but "{lower|{username}}" would be two - fixed the modlog page looking... unusual (seriously how did this happen) - dashboard embed color is now #ff8000 instead of #ff8500 because it's the superior shade of orange - tweaked the r!place grid overlay to make the letters more readable today's coding jam: https://youtu.be/5lvk80pAGqw v82.0 (6/18/21) - new command: r!color - displays information on a color and renders gradients for its HSV - you can enter a color name, hex code, rgb code, role name, member name, or "random" - i'll probably add more features down the road, messing with color stuff is pretty fun - no color-related libraries were used for the command, i've wanted to learn something like this for a while - you can now enable api for r!zoo from account settings on the dashboard - not really useful yet but i plan on adding a proper zoo page soon - replying to a message or image with r!tweet will give you the option to tweet it - when replying to an image you can still add your own text, and vice versa - command list tweaks - moved zoo from random to fun - moved tempban from server to moderation - instaban and bugreport are no longer listed - {embed|color} dynamic response now supports css color names (e.g. "lightblue") - cleaned up r!recolor a little because the code is old as heck today's coding jam: https://youtu.be/dOQAqGhhzdQ v81.2 (6/14/21) - completely reworked r!tweet to make use buttons - now has a preview + confirmation before tweeting - added {switch} dynamic response, which returns different values depending on what's matched - syntax is a bit complicated but it's explained on the dynamic response page - fixed r!info server returning unknown owner - fixed the joker zoo item displaying the wrong cooldown - fixed a few rare cases where zoo cooldowns would reset v81.1 (6/7/21) - heavily optimized user caching - previously the bot just cached every user in a server but this led to problems - i didn't really consider the fact that some servers have like 100k+ members yikes - members are now only fetched from the API when they 100% need to be - shouldn't lead to any noticeable issues, if there are they can be easily fixed - should actually lead to improvements in commands that involve 'searching' like ban, mimic, etc - should also fix the xp leaderboard bug where every member has missing info - custom commands that fetch cached users, e.g. {username|} might be a lot less reliable atm - added aliases/shortcuts to r!help zoo - raised item amount in medium zoo quest from 2-3 to 2-4 - fixed reduced pings setting no longer working in dms - fixed xp multipliers being applied to r!addxp today's coding jam: https://youtu.be/SKE9-PIdJfQ (shoutouts to thefinals) v81.0 (5/30/21) - added buttons! - i hope discord rolled this out to all devices lmao - most reaction confirmations have been replaced with proper buttons whoa - r!zoo trading still uses reactions (for now) - added "amogus", "samsung", and "tonk" to r!sfx - r!random now only chooses from roles that have members assigned to them today's coding jam: https://youtu.be/E-4Nk466iIo v80.1 (5/24/21) - inevitable "fix zoo stuff after big update" stuff - quests no longer decrease zoo score by 5 - curses no longer prevent you from starting a new quest - getting a second curse will simply overwrite the first one - searching for animals with r!zoo view [name] now accounts for rare versions - e.g. "r!zoo view cat" will show both common and rare versions - this also works backwards when viewing rare animals - renamed "T. Rex" to "T-Rex" - using the {zoo} dynamic response without an animal now returns zoo score - fixed joker item not working if you have an active cooldown today's coding jam: https://youtu.be/L9Amln_KTxg v80.0 (5/20/21) - r!zoo quests have been released! - quests allow you to send a rare animal off for a few days to gather some cool rewards! - can be used to obtain relics, which will become passive items in a later update - quests have a small chance of granting a curse, oh baby these were fun to make - overall this was a real big boy to code oh god oh heck i need to rest - other zoo improvements: - mousing over a rare animal in r!zoo list now displays the name of the common variant - fixed sailboat breaking when attempting to trade for an animal you don't have - fixed a timer-related bug which prevents the zoo cooldown from triggering - custom command improvements: - added {zoo|} and {zooname} dynamic responses - {embed|author} now has an optional parameter to change the author name - {multichoose} is now capped at 1000 results - reordered the dynamic response list to be a bit more organized - removed the "view your collection with r!zoo list" message once you reach a zoo score of 10 - fixed lots of crashes in r!gd when gdbrowser is ip banned - made some tweaks to make r!remind more reliable, hopefully results in less dms failing to send again, this is a pretty big update so expect bugs. if anything scary happens be sure to report it! today's coding jam: https://youtu.be/d0oPe63T6ek v79.2 (5/8/21) - another new zoo item (paintbrush), idea by ixNoah - r!text and r!uwu now work on messages you reply to - added {server|boosts} and {avatar|} dynamic responses - fixed server-related dynamic responses returning "unknown" instead of "0" - r!place aliases: "t" to view your cooldown and "col(s)" to view the list of colors v79.1 (5/2/21) - added two more items to r!zoo, because you know what why not - r!zoo [item] now tells you if an item requires additional arguments (e.g. an animal name) - r!zoo trade now supports replacing spaces in animal names with underscores - fixed custom command names not letting you use the names of hidden/dev only commands v79.0 (4/26/21) - added two mysterious new items to r!zoo - added {url|text} dynamic response, which url encodes text (e.g {url|who are you?} -> who%20are%20you%3F) - added vector (from despicable me) to r!quote, oh yeah! - rewrote the r!help info for poll since it was outdated - r!toggle now only displays commands that actually exist (e.g. r!button will no longer appear) v78.6 (4/13/21) the big ol custom command QOL update - added an option to enable dev mode for a custom command - dev mode shows the exact order in which dynamic responses are substituted - commands with dev mode enabled require manage server to be run - if you have multiple fields with dynamic responses, only one will be shown - e.g. if a command has both 'say something' and 'DM author' - you can also use r!devexec (r!dx for short) to execute something in dev mode - running r!execute while replying to a message will set {args} to the replied message - added {server|channels}, {server|vcs}, and {server|categories} dynamic responses - added an option to restrict a custom command to NSFW channels - added hover tooltips to a few custom command settings - optimized custom command cooldowns a little bit - nerfed the clock item in r!zoo from 7 hours to 8 - fixed tempbans having their time multiplied by 1000 (heh oooops) v78.5 (4/12/21) it's impossible to run out of nerdy references and bad jokes. literally impossible - greatly expanded a lot of the bot's random message pools (once again!) - +2 8ball responses - +3 invite messages - +12 automod log messages - +15 dashboard slogans - +27 ping messages - +36 dashboard loading messages (for a total of over 350) - +90 dm responses (for a total of over 250) - probably too many gex references - the clock emoji in zoo notifications now reflects how many notifs you have left - added rescue quotes for parrot, goat, hippo, and flamingo - fixed error when trying to view a private leaderboard while logged out - fixed disabled channels not syncing or saving on the dashboard please tweet your dm conversations with the bot to @TheRealGDColon or @RoboTopBot, i love seeing them v78.4 (4/10/21) - fixed zoo items permanently guaranteeing things even after use (emergency!! crisis!! oh dear!!) - e.g. if you had a farm animal guaranteed then every succeeding rescue would be a farm animal, forever - this also applied to pairs but uhhh hopefully not many people used that item because of the major downside - added 3 mysterious new zoo items - changed the behaviour of glasses. the old version is still obtainable and has been renamed to 'sunglasses' - viewing your zoo animals now displays your 'score' (✧). common animals are worth 1 and rares are worth 5 - added more details to r!help zoo - added {absolute} dynamic response for custom commands (returns absolute value of a number) - closed down r!bugreport - just use the support server please v78.3 (4/7/21) - implemented a much better idiot-proof time parsing system for a few commands - works for r!remind, r!mute, r!temprole, and r!tempban - basically this just makes entering amounts of time less terrible and more lenient - e.g. now you can type "2 hours 30 minutes" instead of "2.5 hours" - you could also do things like "2h30 mins 10secs" but... why would you? - reminders and r!timers now use the new timestamp formatting (2:30 instead of "2.5 mins") - removed the error when muting an already muted member, now it just overwrites their timer - fixed r!rank displaying horribly wrong cooldowns (they went into negatives and counted upwards) v78.2 (4/5/21) so you've probably noticed the bot is acting a little bit... dead. i'm working on it i swear it's just hard because i have 0 idea what's causing all these issues. could be anything, really - r!button is gone!! :crab: - it was a really fun experiment but for now.. please get some sleep - optimized the HECK out of the dashboard - each value used to be updated in the database one by one, now its all at once - i was really young and stupid when i made the dashboard backend don't judge me - should be like 100x faster now - if you run across any bugs (e.g. values resetting or not saving) please report - fixed the dashboard homepage making it seem like you're logged out if it runs into an error - now it just, you know, displays the error message - optimized the XP cooldown system. be sure to report bugs if it's acting strange - buffed the bone item in r!zoo from 4 hours to 5 - the text in r!gdbox is now vertically centered, for consistency with actual GD - fixed a few overlooked plurals in r!zoo (no more "fishs" and "sheeps" lol) - added {channel|url} dynamic response - useful for making embed links that do nothing when you click them (for hovertext) - also fixed {channel|nsfw} not working as intended today's coding jam: https://youtu.be/VxEuQXKQOC8 v78.177013 (4/1/21) - unleashed r!button - praise be the button v78.0 (3/29/21) - rescuing a zoo animal has a 1/10 chance of giving you an item - that's all the info you get, have fun! - added one new set of animals to r!zoo (i can't believe i forgot about dogs!!) - the bot now restarts if the ping gets too high (temporary solution for the lag issue) - small crash fixes in custom commands and r!gdbox - fixed some issues with timestamp formatting (":10" instead of "00:10") v77.2 (3/26/21) - mostly just internal changes - cleaned up a ton of spaghetticode in r!zoo (whoaa it using classes now!!?) - plurals for animal names are displayed in some places now (e.g. "5 foxes" instead of "5x fox") - added ten new sets of animals to r!zoo (why not) - lots of pathetic attempts at fixing the brutal high ping issue v77.1 (3/23/21) - fixed custom command cooldowns not working - a handful of QOL stuff for r!zoo - you can now toggle your list's sorting method (name/amount) with r!zoo sort - rare animals always appear first in both lists - you can now search for animals with r!zoo list [name] - you can now initiate a trade with r!trade - clicking on a rare animal's blue text no longer does anything - added a small chance to get, uh, lucky - improved the error handling in r!emoji a little - raised r!kahoot character limit from 50 -> 64 (per option), raised default time from 10s -> 20s - changed the bot invite link to robotop.xyz/invite in pretty much every spot - fixed automatic strike removals sometimes not appearing in the modlog - fixed sharding issue that caused a bunch of dashboard bugs when the bot first boots up - the website 404 page now actually returns a 404 error. nobody would have noticed this but still - started a bit of work on slash commands, comming soon^tm v77.0 (3/17/21) - added rare animals to r!zoo - rare animals can be obtained through r!zoo exchange - exchange 5 of the same animal type to obtain a rare animal - rare animals can only be traded for other rare animals - releasing a rare animal resets your entire cooldown - other r!zoo changes and tweaks: - you can now use r!inv to view your animal list - changed the cooldown timer to be more readable (hours:mins:seconds) - trading/releasing now cancels if your inventory changed upon confirming - reworked the entire muting system - you can now assign multiple roles to add upon being muted - you can now assign multiple roles to remove upon being muted - discord permissions are wacky so this should hopefully make things smoother - renamed the 'warns' tab of the dashboard to 'moderation' - removed daily and weekly from r!gd (rob banned my ip from accessing them because gdbrowser) - fixed several instances where bold links wouldn't display correctly on mobile embeds v76.2 (3/16/21) - added zoo releasing (r!zoo release) - releases an animal from your zoo, but reduces your rescue cooldown by 2 hours - also added the ability to type 'r!zoo help' instead of 'r!help zoo' - improvements for r!rng: - added piglin barters (uses 1.16.1 loot table) - command can now be used in dms - rewrote most of the code (its super old) so it should hopefully run better - major improvements to r!uwu, and also added a chance to s-stutter >w< v76.1 (3/5/21) - added zoo trading (r!zoo trade) - trades an animal with a friend!! - syntax is r!zoo trade [user] [animal to give] [animal to receive] - might add some restrictions/limits in the future, we'll see what happens - added zoo naming (r!zoo name) - idk i just felt it's an opportunity to be funny and creative - added an option to notify if a DM from a warn/ban/mute/etc fails to send - enable at the bottom of the warns tab in the dashboard - r!place grid is now split into 4x4 squares instead of 5x5 - fixed several instances of me being dumb and writing 'recieve' instead of 'receive' - i also went ahead and added 'recieve' to the spellcheck auto command - improved user finding with underscores a little bit v76.0 (3/2/21) - added r!zoo :DD - rescues a random animal and adds it to your personal zoo. 6 hour cooldown - view all your animals with r!zoo list - cooldowns are user-based and carry between servers. command also works in DMs - lots more features planned down the road! build up some animals in the meantime - inspired by the rhythm doctor card bot by DPS - kicked the bot from 6000 inactive servers because hosting is expensive. - all servers can readd the bot and did not use automatic features (xp, timed roles, etc) - added r!anonkick and r!anonmute (they're the same as the normal commands, but anonymous) - added "r!modlog manual", which lets you view all non-automod actions - fixed very weird behaviour when using negative page numbers for leaderboards/modlogs/etc v75.0 (2/15/21) been a while, huh. mainly just been busy with schoolwork, making videos, and other random projects. most of the features here were slowly rolled out over the past months, but were too minor to log - added the ability to create 1.0x multipliers (so they can take priority over lower ones) - added "warns" as an alias for r!modlog - added like 50 new dashboard loading messages - added an option to show IDs on the online modlog - r!execute now ignores code blocks (e.g. `{args}` or ```{username}```) - fixed a crash in r!gd with levels that use default songs - fixed some weird behaviour when typing a space after a case-insensitive prefix (R! text) - fixed r!unwarn not removing the ban await role - readded total servers to r!info robotop - removed the message when trying to use r!warnconfig (it's deleted entirely now) - removed garfield from r!help (rip) v74.1 (1/11/21) - fixed discord ban logging also logging bans done through the bot (hopefully) - discord ban logging is now disabled by default v74.0 (1/10/21) happy new year! here's some random new features that might be useful idk - added a new option (enabled by default) to log bans that weren't done through the bot - some information (such as moderator who banned) is left out unfortunately - you can now purge up to a specific message ID with r!purge - e.g. "r!purge 567898765678" would purge all messages up until the one with that ID - filters are still supported, just write the message ID instead of the # of messages to purge - added 'shuffle' to r!text, it just shuffles a list of letters/words - you can now type "r!gd u" instead of "r!gd user" - you can now type "r!purge f" instead of "r!purge filters" - fixed an error in custom commands when running {add}/{subtract}/etc without any arguments - reaction roles now let you use message urls - fixed timed warn removals not logging because i used the wrong variable across the entire code - made some improvements to the dashboard - completely redid the header and added a dark/light theme icon - changed "connect to discord" to "log in" because people are stupid apparently - added a view custom commands button next to the modlog one. appears if you have at least 1 command v73.4 (12/25/20) merry padoru day! - deleted r!garfield since the api is gone, rest in lasaga - added "v" as an alias for r!thisvid - added a message in r!toggle if the channel is currently toggled off - removed npesta from r!sfx - fixed some strange bugs with r!role/r!warn - minor layout tweaks to the compact log v73.3 (12/16/20) - added a new compact log option to the 'logging' tab of the dashboard - makes the log send plaintext messages instead of embeds - it's far more compact but some details will be left out - fixed online leaderboard prioritizing multipliers over xp bans - fixed some issues with r!ban/r!kick v73.2 (12/5/20) a handful of minor changes rolled out throughout the past few weeks - added the ability to edit modlog reasons - on the online modlog page, just click on a reason to edit it (requires manage server permission) - added and improved some more dynamic responses for custom commands - you can now specify a user in member-related responses (e.g. {nickname|robotop} gets robotop's nickname) - {test} now supports extra parameters (e.g. {test|1|2|3|4|5|true|false} would requires all 5 values to be equal) - {emoji} simply finds and posts a custom emoji by name - {regexreplace} finds and replaces a message using regex. very powerful but complicated - fixed the online modlog being a total mess on firefox - spellcheck no longer corrects "harass" because that's just dirty - factorial detection now uses the multiplication symbol (×) instead of a lowercase x - changed the "B" on r!place to look different from the 8 - r!place is now always sent as a png instead of a gross jpeg - you can now type "r!purge help" instead of "r!purge filters" - added "settings" as an alias for r!account - added a couple new error messages for r!emoji (such as if the emoji name is invalid) By the way, you've probably noticed the bot's streaming status by now. Check it regularly for fresh memes! v73.1 (11/19/20) - more dynamic responses! - {hasrole}: checks if the sender has a specific role - {permission}: checks if the sender has a certain permission - {nth}: displays a number as an ordinal (1st, 2nd, 3rd, etc) - {clamp}: limits a number between a min and max value - {date}: returns a customizable date and time (e.g. hh:mm, MM/DD/YY, etc) - added "vctoggle" as an alias for r!soundtoggle - added a note about r!channeltoggle in r!toggle - using r!rank in an xp-enabled VC now tells you how much xp will be gained from talking - fixed purge logs sometimes appearing in reverse order - fixed an exploit where you could make the bot embed links using r!mimic and r!copy - fixed r!emoji replace only working if you type the name of the emoji without colons v73.0 (11/10/20) mainly just small fixes and tweaks, but i also made tons of improvements to r!emoji - r!emoji add now supports image urls! - freaking finally - you can now supply an image url in 'r!emoji add' instead of having to upload a file - make sure the file is under 256kb because large images can't be optimized with this method - added r!emoji replace - works identical to r!emoji add, but requires you to name an existing emoji - the existing emoji will be deleted and replaced with the new file - r!emoji no longer requires you to send an actual emoji - this means that you can just type 'robotop' instead of ':robotop:' - the changelog is now fetched from a local text file instead of from pastebin - not sure why i didn't do this sooner, but they added captchas and that was the final straw for me - voice channel xp now requires 3 members in a VC instead of 2 (a little more balanced this way imo) - removed (beta) from mentions of voice channel xp, it's working fine lol - temporary bans now default to days instead of minutes - fixed r!slowmode not targeting the correct channel if you don't put a space between the number and unit - r!slowmode now tells you which channel was modified (if it's not the current one) - renamed a handful of old code files since the old names sucked - added several new command aliases - r!dashboard: added "d" and "web" - r!dunsparce: added "ds" and changed "d" to dashboard - r!emoji: added "em" - r!execute: added "x" and "ex" - r!fbi: added "fb" - r!garfield: added "gf" - r!remind: added "rem" (who's rem?) v72.2 (10/29/20) well this certainly was an eventful past few days - basically discord pushed some new api enforcements, so you have to be whitelisted to access the member list - the bot is whitelisted now, but for about a day and a half join messages, timed roles, and more didn't work - the bot can no longer access member statuses, since i'm not whitelisted for that (since i don't need them) - there were also changes to how members are cached, meaning i had to re-code a lot of stuff anyways, here's what's new with robotop - a couple parts of r!info have been reworked - server: replaced "partnered" with "community", which displays if the server is a "community" - server: added the server's description (in community settings), if it has one - server: replaced # of online members with # of nicknamed members (bot can no longer get statuses) - role: removed # of online members, same reason as above - user: removed status-related information - replaced the "all" tab from the dashboard's server select page with servers that the bot can be added to - temporarily(?) disabled r!garfield because the api is gone (rip) - fixed not being able to set min/max xp gain to 0 - fixed r!modlog sometimes not working - checkbox switches on the dashboard are now properly greyed out if you lack permissions - removed the save button from the dashboard page for users without permissions It's possible some things are broken because of the new API changes, so be sure to pop into the support server (r!support) or use r!bugreport if something is acting up! I'm only one person, so I basically rely on your reports :P v72.1 (10/21/20) another fresh batch of minor improvements and QOL changes - you can now visit robotop.xyz/log to view all your archived purge logs - it's really basic and ugly right now, but i'll probably clean it up - fixed a major oversight in custom commands where dynamic responses could be executed through {args} - this may break a few commands, but it was never intended behavior - added two list-related dynamic responses for custom commands - {params} converts a list into custom command parameters (e.g. "A,B,C,D" -> "A|B|C|D") - {mutlichoose} picks multiple results from a list of words without repeating - as usual, more info and instructions can be found at robotop.xyz/customcommands/dynamic - variables for join/leave/etc messages on the dashboard are now added at your cursor position instead of at the end of the message - fixed custom commands not pinging users - fixed more command aliases taking priority over custom commands - r!toggle and r!help no longe errors when using the prefix in a command name (e.g. r!help r!ping) - fixed an exploit that allows placement of glitched/illegal pixels on r!place - members with a moderator role are now allowed to use r!mute - you can now get info on a custom command using r!cc [commandname] - unlisted custom commands are now hidden from r!help and r!cc - r!instaban now grants the ban await role if you don't have permission to ban (previously you just weren't able to use it) - fixed an issue where bulk delete logs would sometimes show up blank (hopefully) v72.0 (10/11/20) - you can now set disabled channels/roles for each individual automod type - if i had a penny for every time someone asked for this i would probably be able to afford better servers - you can still globally disable a channel/role from all of automod - you can check it out for yourself on the 'automod' tab of the dashboard - "r!text hex" now properly converts numbers to hex instead of reading them as strings - it also converts numbers starting in "0x" from hex back to base 10 - replaced all instances of "seperate" with "separate" because i cannot spell - kind of ironic considering it's one of the words that robotop corrects if you have spellcheck enabled - fixed a few command aliases taking priority over custom commands v71.2 (9/24/20) just random fixes today - fixed r!bugreport completely not working. how ironic! - be sure to resend any bug reports if you've used the command within the last month or so - you can no longer clone custom commands to bypass the 100 command limit - fixed not being able to edit the 100th command - expiring strikes are now logged in the modlog - fixed the r!mimic/r!paste banned word filter being case sensitive - you can now tag users in r!purge to purge messages sent by them - changed "r!purge " to "r!purge {rolename}" since discord uses triangle brackets for mentions - added "select all" and "select none" buttons to the logging tab of the dashboard - very minor tweaks to a few command responses and dashboard areas v71.1 (9/11/20) - added "alphabetical" and "gjp" to r!text - alphabetical arranges a list of words/letters in alphabetical order - gjp encrypts text using geometry dash's weak password crypto (xor + base64) - fixed r!ban not being able to find a lot of members - fixed r!info allowing members to view info on channels they can't access - fixed "enabled dms" in user settings not working correctly - fixed automod's new sneaky mode not sending dms for violations worth 0 strikes - fixed "r!warn [user] 0" not giving a verbal warn if you changed the default strike amount v71.0 (9/10/20) - added auto expiring strikes, by popular demand! - configure on the 'warns' tab of the dashboard - strikes will automatically be removed after a specified number of days - once a strike is removed, a expiration timer for the next strike will begin - this repeats until no more strikes are left - getting warned, pardoned, or ban awaited will also reset the expiration timer - all timers can be viewed and cancelled in r!timers - added "sneaky mode" to automod - it removes the warning in chat when automod is triggered (e.g. "language!") - the alert is still sent in dms - added 5 new sound effects - bababooey, bong, boom, charles, and skibbity - removed tenj and ppmusic - small qol changes to r!gd - levels and profile pages now have gdbrowser links - all large numbers now contain commas for readability - also changed the layout of a few embeds - removed engrish, it was a good run :3 - fixed the incorrect number showing when cancelling a timer - fixed r!warn not logging warns if you grant a ban-worthy amount of strikes without ban perms - fixed r!poll[a-g] not working v70.1 (8/31/20) - tons of internal optimizations to speed up the bot, since it's been pretty cringe lately - 99% of people won't understand these but i'll list them anyways - user settings are no longer cached and are now always pulled from the database (ironically, the cache was way too big) - custom emojis in reactions (r!poll, r!kahoot, etc) no longer use sharding. turns out it's not required - reduced amount of times communication between shards is required (e.g. in r!info shard) - fixed custom commands with a cooldown of 0 still setting timers - other neat tweaks - typing r!engrish without any arguments now translates the most recent message - ...is what i would say if the command actually worked - it's possible that i got ip banned for abusing the translate api so i might have to delete the command :v - cleaned up the r!kahoot code since i haven't touched it in ages - the final results no longer count reactions from the bot which... it never should have done (how tf did i miss this) - removed r!info emoji as it's barely used and also just pointless v70.0 (8/28/20) the bot may be on life support, but i'm sure more updates will fix it (jokes aside i'm working on fixing all the sluggishness. just hold tight!) - added r!engrish (this one is a banger) - it translates your message through a bunch of different languages, then back to english - this results in some REALLY broken and hilarious messages - translation order is Korean -> Igbo -> Turkish -> Swedish -> Ukrainian -> Nepali -> English - what do you mean by "there's a hidden acronym"?? - completely rewrote r!toggle - you no longer need to specify on/off, it just toggles accordingly - you can now specify a channel (e.g. r!toggle place #bots) - you can now use W to whitelist (e.g. r!toggle spellcheck W) - removed r!whitelist since it's no longer necessary - (technical) deleted my entire channel database, because it's now merged with the server one - new poll emoji: check/x (geometry dash) - r!chtoggle no longer works on voice channels LMAO - fixed issues with r!account's tabbing on mobile - i have literally no idea why level up messages are double-sending but i'm looking into it v69.1 (8/20/20) still nice - added two new user settings (tweak them on the dashboard or with r!account) - an option to disable the silly responses when dming the bot - an option to disable the @mentions that precede a handful of the bot's messages (e.g. typing "r!fbi") - you can now attach images with r!suggest - removed the ability to mimic bots (sorry :v) - fixed enchanted r!text accidentally creating spoiler tags v69.0 (8/9/20) nice - added r!text - it converts ordinary text into 𝕗𝕒𝕟𝕔𝕪 text - there's a whole bunch of fonts and styles to pick from, and i'm open to adding more! - also supports caesar ciphers, base64 conversion, and some other fancy things - i've wanted to add this one since mid 2019, finally got around to it :P - added r!suggest - use it to post an embedded suggestion in a specified suggestion channel - also reacts with your two selected r!poll emojis - configure the channel and permissions on the commands tab of the dashboard - raised custom command cooldown limit from 20 minutes to 24 hours - fixed inconsistency between dad jokes in dms and dad jokes in a server (they now both use the same code) - fixed r!modlog sometimes telling you that there's a page 0 - changed the logging code from a bunch of else ifs to a switch statement because i'm not yanderedev - improved stability of r!kahoot a little bit - internal changes to optimize how users and channels are stored in the database. hopefully this doesn't cause any issues v68.3 (8/5/20) Over the past few days, RoboTop flew from being in 20 announcement channels to... almost 800. That's wild - you can now set the default amount of strikes granted by r!warn, if you don't specify an amount - e.g. you can change "r!warn @GDColon cringe" to grant 1 strike instead of 0 - added the {repeat} dynamic response for custom commands. it just repeats text a certain number of times - added user ids to messages logged by r!warn/ban/mute/etc (embedded only) - you can now r!paste inappropriate messages provided you're ignored by automod in that server - warns are now correctly logged if you press "X" after being prompted to ban someone with max strikes - apparently webhooks can't have "clyde" anywhere in the name. so r!mimic/paste now changes "clyde" to "cIyde" - fixed some missing bold asterisks in certain parts of logging v68.2 (7/31/20) The RoboTop changelog is now followable! Use r!server to visit the RoboTop server and follow #changelog to be notified whenever there's an update. - tweaked the code to add proper support for followable news channels - the discord api doesn't actually consider them to be text channels - r!info [category] and r!info [server] now shows news channels - fixed some issues with the dashboard not saving - greatly imporved error handling v68.1 (7/27/20) - added anonymous warning via r!anonwarn or r!aw - works the same as r!anonban except... it's r!warn - system messages are now properly logged when deleted - basically any non-user message (e.g. pinning something, joining/boosting the server, following a channel, etc) v68.0 (7/26/20) - added anonymous banning via r!anonban or r!ab - a variant of r!ban that doesn't reveal who banned the member - the staff member can still be seen in the mod log - added an option that allows admins to use commands that are toggled off - enable on the commands tab of the dashboard - roles that disable xp gain are now shown on the multipliers tab of the online leaderboard v67.5 (7/21/20) RoboTop is now in 10,000 SERVERS! Thank you much for enjoying and supporting my work, it really means a lot to me <3 Nothing too special in this update, just fixes that I rolled out over the past few days - using r!bugreport now requires your discord account to be at least 1 week old - fixed banning a user outside the server sometimes not logging - using r!warn no longer pings you in the log channel - fixed r!toggle not being useable by staff when the command is toggled off serverwide - the r!ban confirmation message now shows the user's tag instead of just the username - fixed some crashes in r!gd caused by the servers being down - added a decimal point to the time in the "reminder created" message - r!xpconfig's embed is now sent in dms if the bot doesn't have embed permissions v67.4 (7/11/20) - custom command fixes/improvements - added {embed|thumbnail}, which attaches the image as a small thumbnail instead of a giant picture - updated the embed images in the dynamic response guide - fixed {lowest} and {highest} ignoring zeroes - fixed {var} not allowing empty variables to be defined or read - fixed r!uwu not working in dms - fixed voice channel xp ignoring disabled roles - fixed server verification level changes not logging v67.3 (7/8/20) These changes were individually added over the past few days. Figured I should log them somewhere - fixed strikes disappearing when using the dashboard - fixed modlog being glitched on mobile - fixed not being able to @ robotop on mobile (it uses <@123> instead of <@!123>) - fixed an error when doing "r!emoji rename" without specifying a new name - fixed some broken formatting in error messages (using a mix of `text` and **text**) due to find/replace - fixed some automod violation messages having two exclamation marks and also added "did a bad thing" - fixed "r!timedrole sync" not having a reason on the audit log - fixed disabled command alert causing toggled commands to be useable v67.2 (7/4/20) - fixed {xpfor} dynamic response being one level off - added r!ts as an alias for "r!timedrole sync" (this was previously done through custom commands) - renamed the "blast" sound effect to "bwomp" (both still work though) - changed "pardon" to "unwarn" on the modlog - optimizations to the dashboard backend (should speed up loading times) v67.1 (7/2/20) - new dynamic responses for custom commands! - for info on how to use them, see robotop.xyz/customcommands/dynamic - {var} - declares a variable which can be read later (extremely useful) - {commafy} - adds commas to a large number (e.g. 1000000 -> 1,000,000) - {capitalize} - capitalizes text (sentence or title case) - {xp} - returns the amount of xp a member has - {level} - returns the current level of a member - {xpfor} - returns the amount of xp required to reach a certain level - changed {server|prefix} to just {prefix} - added mr. krabs to r!quote. contains every mr. krabs line from seasons 1-3 of spongebob - special thanks to sdslayer for gathering them! - rearranged and added the dynamic response page to r!dashboard - fixed using r!mimic without a message not telling you if a user has blocked mimicking or not v67.0 (7/1/20) RoboTop turns two today! It's amazing how far we've come, take a look at the very bottom of the changelog :P I really want to go back to the bot's roots and start adding more fun commands rather than moderation stuff. Anyyyywho... - removed the loser r!maui and replaced it with the chad r!quote - r!quote works similarly to r!maui but allows support for more characters - currently you can generate quotes for maui (duh), shrek, sans, and the keymaster. more characters soon™ - quotes are randomly selected from the entire movie script or game files. every single line is fair game! - maui was actually one of the bot's first commands but it's never too late to improve it! - i made r!maui an alias for "r!quote maui" but i may remove it later - major improvements to how roles are granted when a member joins/rejoins a server - fixed some issues with r!slowmode syntax (e.g. thinking "r!slowmode 1s" was one minute) - fixed "ago" missing from the last update date in r!help and r!changelog v66.1 (6/30/20) - redid the code for both r!modlog and the online modlog - the online modlog is now split into pages (200 per page) - turns out loading 6000+ entries on a single page is NOT a good idea and *might* crash your browser - removed notes from the online modlog. it was just really broken and took up space - r!modlog should be smoother and now supports browsing multiple pages (15 per page) - doing r!modlog without any arguments now tells you how to use the command - rewrote r!help modlog - added temporary bans to the modlog - rejoining a server now automatically readds your level roles - because apparently it didn't do this before - rebalanced voice channel xp a little more (still in beta) - now gains half the amount of xp as a message (alongside the doubled cooldown) - now requires at least 2 members in the VC, one of which must be unmuted - made the error messages for r!info a little bit easier to understand - added r!b as an alias for r!ban v66.0 (6/27/20) - added voice channel xp! (beta) - allows gaining xp by being in voice channels, but at a slower rate than text - you can't detect if a member is actually speaking, so it just grants xp as long as you're in the channel - currently you gain xp at 2x the text cooldown, but i'll likely change it later - cooldown is seperate from the text one and can be seen with r!rank when you're in a voice channel - enable through the xp tab of the dashboard (look for "voice channels"). be sure to give feedback! - added moderator roles - members with a moderator role are able to use r!warn even without the manage roles permission - can only be applied to roles that don't have admin or manage roles - added xp logging - posts to the log channel when xp is manually given through r!addxp or the online leaderboard - removed the automatic "ass" command - the xkcd 37 reference was nice but it really wasn't that funny in the end. just plain annoying - added more messages to the random pools! - 8ball responses, ping responses, dm responses, dashboard loading messages, etc - added way to many jokes about not being tamed - r!t is now an alias for r!top instead of r!toggle - added r!tg as a toggle alias to make up for this - using r!timers to cancel a timer now shows details about the timer during the confirmation - fixed bots getting persisted and level 0 roles - added permission changes to channel edit logging - made some optimizations to members being added to the xp database - fixed r!rank rarely showing info for the wrong person - other small fixes and improvements v65.5 (6/21/20) - removed r!rebalance, changed the bot's status back to normal, and removed the xp rebalance alert from r!top - you can now do r!uwu [user] to uwu their most recent message - fixed being able to use r!mute on the bot - fixed some issues with role persisting as well as general adding/removing roles v65.4 (6/18/20) - if raid protection is enabled and an account that's too young joins, they will now recieve timed roles once they're old enough - e.g. if you need to have a 2-day old account to get timed roles, you will get the role after two days - you can always cancel pending timed roles with r!timers if you don't want them to get the role - made the logging for channel edits a lot less terrible - now detects changes to vc bitrate, vc user limit, and if the channel is nsfw - fixed multiple issues where edits wouldn't be logged - the time and unit for r!slowmode no longer needs to be seperated by a space, to be more consistent with other commands - e.g. you can do "r!slowmode 10m" instead of "r!slowmode 10 m" - fixed custom command reactions not allowing regular emojis - fixed long messages not being posted to automod's violation log - fixed r!info not detecting banned users - fixed r!place notifications not sending - added r!cmds as an alias for r!help v65.3 (6/16/20) - made the r!help info for commands a lot more consistent - e.g. changed "r!8ball question" to "r!8ball [question]" - automod now ignores markdown in banned words - previously you could bypass the filter by saying he**ck**, etc - fixed level 0 xp roles not granting - fixed some weird issues with r!gdbox - fixed r!tweet sometimes ignoring attachments - fixed some issues with the online leaderboard v65.2 (6/14/20) - added r!timers for easy timer management - allows you to view the active timers in your server - timers include events like temporary roles/bans, timed roles, etc - requires manage server permission - added {empty} dynamic response for custom commands - returns the first non-empty argument ({empty|text1|text2|text3...}) - for example, {empty|{args}|{username}} would return {username} if {args} is empty - made more commands tell you the proper syntax if you don't type any arguments - e.g. "use r!mute [user] ..." instead of "who should I mute" - improved consistency of error messages across the bot - changed instances of **r!command** to `r!command` - temporary bans now send a message in the warn log when they expire - fixed r!help info calling "/" a backslash because i am stupid v65.1 (6/11/20) Inevitable v65.0 bugfixes - MAJOR fixes to r!rank sync, especially in servers with "only keep highest level role" enabled - r!remind now allows spaces between the number and unit (e.g. r!remind 10 mins) - using r!toggle without any arguments now lists all the commands disabled in the channel + server - since it could potentially create chatwalls, r!toggle can now be toggled off - if r!toggle is disabled, members with the manage channels permission will still be able to use it - renamed the "levels" category of r!help to "xp" now that it's no longer the name of a command - fixed tempbans being referred to as temporary roles - fixed DM commands not working if you capitalize the prefix (R!) - fixed your first message in a server always granting 0 XP - fixed XP not being given in channels where the bot doesn't have permission to speak - fixed "your level roles are not synced" still appearing when viewing someone else's rank - fixed being able to set 0 second reminders - added r!canvas as an alias for r!place - removed r!kashoot as an alias for r!kahoot v65.0 (6/10/20) Behold, one of the BIGGEST RoboTop updates yet! Buckle up, because there's a LOT to cover here... - xp has been completely rebalanced! - the exponential growth rate for xp was changed so that the curve is a lot smaller - this means that higher levels require significantly less xp to reach, to keep things a bit more fair - high level users (above level 20-ish) may have their level increased by a little bit - for more details, see r!rebalance - lots of commands now work in dms! - use r!help in dms to view the list of supported commands - useful for using commands like r!thisvid or r!tweet, or just for messing around without being judged - this feature might be a bit buggy, but i'll continue to improve it - added a sweet timer system to the bot's code - the new system makes it EXTREMELY easy to add time-based commands and features to the bot - keep reading to see all the cool stuff i added with this system - added temporary roles - you can now specify an amount of time when granting roles - roles will be granted instantly, and then removed after that amount of time (or vice versa) - example: "r!role GDColon @special 10m" would grant the "special" role for ten minutes - r!temprole is an alias for r!role but i added it to the r!help list anyways - added temporary bans - you can now specify an amount of time when banning a member - the member will be unbanned after that amount of time - example: "r!ban @Somenerd 30d go away" would unban Somenerd after 30 days - r!tempban is an alias for r!ban but i added it to the r!help list anyways - added r!remind - this new command lets you set reminders for the future - reminders will be dm'd to you after the amount of time specified - example: "r!remind 5h clean my room" would tell you to clean your room in five hours - you can set up to 20 reminders (active ones can be cancelled) - as soon as i programmed the new timer system i knew i had to make this one - other time based improvements - muting is less buggy and the time limit was raised from 7 days to 180 - muting now displays time in the best unit, instead of always using minutes - timed roles are less buggy and the time limit was raised from 1 day to 30 - increased max number of timed roles per server from 10 to 20 - r!place cooldowns and xp cooldowns are no longer reset when the bot reboots - max r!place cooldown raised from 20 minutes to 60 (but who would ever use that) - added r!soundtoggle - allows you to (finally) disable sound effects in certain voice channels - requires manage channels permission - renamed r!xp to r!addxp to avoid confusion - toggling r!xp also explains that it's different from disabling xp gain - reworded lots of messages throughout the bot, mainly for consistency - removed the ability to add line breaks to r!gdbox because it was super broken - changed r!mute's description in r!help to explain why it's different from temporary roles - moved r!account from the "tools" category to the "settings" category of r!help - improved r!rate's seeding a little bit - fixed automod considering invites from discord.com/invite and discordapp.com/invite to be invalid - fixed automod poorly handling messages with multiple invite links - fixed edited messages counting towards automod's spam filter - fixed being able to use r!channeltoggle on channels in other servers (good thing nobody realized) - fixed r!gd not loading the daily/weekly crown image - fixed r!copy showing the wrong error message when attempting to copy a bot's message - fixed r!slowmode saying "1 seconds" - fixed r!sound sometimes getting stuck in the voice channel - many more small improvements. seriously i can't list them all - removed herobrine As I say with every big update - bugs are inevitable. Be sure to use r!bugreport if something is acting up! Thank you all for continuing to use and support RoboTop, it truly means the world to me <3 v64.4 (6/5/20) minor bugfixes and tweaks - fixed r!mimic and other commands parsing incorrectly if you put a space after the prefix - e.g. "r! mimic GDColon" would think you are trying to mimic someone named "mimic" - fixed level 0 xp roles granting regardless of your level, when "highest level role only" is on - fixed only one level 0 role granting even if you have multiple - fixed r!mimic and r!paste not having transparency in the profile photos - fixed r!ban sometimes breaking when you lack certain permissions - added r!serverinfo as an alias for r!info - added r!r8 as an alias for r!rate - fixed r!help support referring to the command as r!server - added more details to r!help dad - using r!help on a custom command no longer shows aliases if the command doesn't have any v64.3 (6/3/20) i'm on a bit of a streak with these updates! - you can now add a level 0 role for xp - works exactly like every other xp role, but is granted as soon as you join the server - removed upon leveling up if "highest level role only" is enabled - removed ability to put spaces in the prefix (it's broken af) - added a warning before overwriting an existing custom command by making a new one with the same name - changed the criteria for when the "i can't grant most roles in this server" warning appears on the dashboard - the dashboard api now redacts more details if you don't have permission to access them (e.g. custom command info) v64.2 (6/2/20) - added reactions to custom commands, by popular request - this one was tough to do, because i needed a decent interface where you could pick an emoji - the design i came up with works fairly well, but might be a bit annoying when you want a non-custom emoji - you can add as many emoji reactions to a custom command as you want - if "delete author's message" is ticked off, the reactions will be added to the bot's response - fixed custom command permissions being broken - changed "edit custom commands" to "view custom commands" on the dashboard, if you don't have the manage server permission v64.1 (6/1/20) - seperated r!copy, r!paste, and r!clipboard into their own commands - this means that you can enable copying in a channel, but disable pasting - any servers/channels with r!copy disabled will automatically have paste disabled as well - like most other commands that just tell you to check dms, r!clipboard can't be toggled - r!paste can no longer pings users other than yourself - made the message when trying to use r!copy on a pasted message/webhook way clearer - added paste and instaban to r!help - added "seperate" to spellcheck - the confirmation message when using r!ban now says "skip this with r!ib" - fixed being unable to remove 1ups and ban awaits on the dashboard - fixed user settings (clipboard, poll emoji, etc) not carrying over between servers/shards - reworded stuff in r!help and r!dashboard v64.0 (5/30/20) This one is a gooood update - added emoji spam detection to automod - deletes the message + warns if too many emojis are used - also has an option to only count animated emojis - since discord converts certain unicode characters to emojis, the filter isn't 100% perfect (i'll work on it though) - added aliases to custom commands - you can now add aliases (aka multiple names) to your custom commands - using an alias will also trigger the custom command - automod now prioritizes the violation worth the most strikes - previously, messages with multiple automod violations would just pick the one furthest in the code - automod's deleted message log now says which banned word was detected in the message - a nice way to save two or three seconds of your precious time - the custom command list now properly refreshes when you press "save" - should make the page more accurate if multiple people are editing custom commands at the same time - before, the list would only sync with the database when you enter or reload the page - "r!rate" without any arguments is no longer seeded - changed most instances of the word "user" to "member" on the dashboard v63.2 (5/28/20) behold, the least exciting robotop update yet - added r!xpadd as an alias for r!xp - changed r!xp to r!addxp on the r!help page to make the function more obvious - upped command cooldown from 0.5 seconds to 0.65 seconds - randomized messages (with |||) appear more organized on the dashboard now - fixed r!ban sometimes breaking if you lack permissions - fixed toggled commands being a bit broken - fixed serverwide toggling sometimes not working - fixed weird dashboard error when pressing "log in" from the leaderboard page - fixed typos v63.1 (5/26/20) teeny tiny fixes - added a progress bar to r!rank along with your % to the next level - r!percent is no longer seeded because it was super broken - reworded confusing stuff on the dashboard - fixed online leaderboard sometimes displaying as if you're logged out v63.0 (5/25/20) - completely deleted flags - i never really liked 'em - most flags are just general settings now, but a few were completely ditched (see below) deleted flags: - seeded random - this one was mostly an experiment. now that i know it works, it's been incorporated the bot's commands - seeded means that RNG will give the same result every time (e.g. r!rate fortnite will always give, say, 3 stars) - r!conch is now seeded, but r!8ball isn't - r!rate is always seeded - r!percent is always seeded - more garfield years - is now always enabled - makes r!garfield show comics from 1978, 1979, and 1980 - lower poll limit - has been completely removed - case sensitive prefix, disabled command reply, dm help, and automod invalid invites - are now seperate options on the dashboard - if you had these flags enabled prior to the update, they should have been automatically carried over other stuff: - deleted r!flags and the flags tab of the dashboard - changed some wording on the dashboard - fixed DM Help option not working - fixed kick messages not embedding - fixed r!garfield never picking certain dates v62.4 (5/24/20) - overhauled the dashboard's saving code (on the server-side) - i don't know what i was smoking when i wrote it, or why i waited until now to fix it - anyways, it's actually tolerable now. and about 200 lines shorter as well - you shouldn't notice any difference, but be sure to drop a bug report if something isn't saving correctly - added character limits to some textboxes on the dashboard that didn't have (e.g. join/leave/ban/levelup messages) - added "bwomp" as an alias for the "blast" sound effect (sound effects have lots of aliases, they're just hidden) - snuck in a few more loading messages v62.3 (5/20/20) - added a new "ban purge" option to the warns tab of the dashboard - allows you to choose how many days worth of messages should be purged when a member is banned (defualt 1) - you can also set seperate values for automod and manual banning - added 24 new dashboard loading messages and 23 new homepage splashes - most can be seen at https://twitter.com/RoboTopBot/status/1263209474908721152 - r!r is now an alias for r!rank instead of r!role, since it's used way more often - fixed r!rank telling you to sync your level roles when you're not supposed to have any - you can now do r!timedrole s to sync timedroles (life's too short to type "sync") - added r!give as an alias for r!role - smartened the swear detection in dms a little bit v62.2 (5/19/20) - "server edited" now logs owner, banner, and splash changes - made r!info display the server icon/banner/splash url in a more clean/compact way - fixed r!help being indented - fixed r!rate not showing half dunsparces correctly (don't ask) - added r!ank as an alias for r!rank - fixed custom commands listing channels in the wrong order v62.1 (5/18/20) - mostly just internal changes because i'm better at writing code than i was a year ago - you can now add multiple roles to someone with r!role - e.g. r!role @GDColon red, green, blue - r!info now only shows up to 30 of a member's roles because some messages hit the character limit - fixed some issues with r!sound not playing - fixed bulk delete logs sometimes not auto deleting v62.0 (5/14/20) EVEN MORE custom command updates! - added the ability to copy custom commands to your server - go to a server's custom command page on the dashboard, then press the save icon - you can only copy commands to servers where you have the manage server permission - you can disable copying a command in its settings - tweaked the custom command dashboard page a little bit - members without permission can no longer see unlisted custom commands through the dashboard - server owners can now use r!ban/r!warn on anyone - using r!warn to ban a non-bannable member now alerts you before the confirmation pops up - removed "old avatar" from logging since discord doesn't store it - removed r!conch from the help menu - made the bot avatar blurple for discord's birthday :P - added r!clip as an alias for r!clipboard - r!invite, r!support and r!bugreport can no longer be toggled off since they run in dms v61.0 (5/12/20) More custom command updates! (plus messing with the discord api's new ping options) - added r!customcommands, which pulls up a convenient list of all the custom commands in the server - you can now add descriptions to custom commands. they appear when using r!help on the command - added new settings for custom commands: - allow everyone and here mentions (enable if you want the command to be able to tag everyone) - allow role mentions (enable if you want the command to be able to tag roles) - don't show in custom command list (enable if you don't want the command to appear in r!customcommands) - the "ping shield" flag has been removed, as most commands no longer tag users - the warn log no longer pings the moderator who warned - added bonk to r!sfx v60.5 (5/11/20) - discord tweaked their api to allow bots with admin to ping any roles, so i quickly pushed a fix to prevent that - fixed "ban" not being bolded in warn messages when banning through r!warn - r!bugreport now alerts you if the bot can't DM you - fixed place cooldown displaying incorrectly if the cooldown time was changed after you placed the pixel - greatly improved the spellcheck code, and it also no longer freaks out of you say words like braINCASE or zeALOT (skyblock gang) v60.4 (5/8/20) RoboTop is verified now :D - lots of internal tweaks to make the bot less garbage - might be a few bugs so be sure to report if something isn't working properly - automod no longer grants an extra strike for posting double the max line count, because that's stupid - fixed unsynced level roles warning appearing in servers without level roles - an alert now appears on the dashboard when the bot is mid-reboot and still loading some servers - short banned words like "ass", "hoe", etc will now ask for confirmation before banning - this is because banning those words will also cause words like "grass" or "shoe" to be removed - fixed automod not putting actions in the moderation log, if the violation came from an edited message - fixed the online leaderboard displaying highest roles incorrectly v60.3 (5/5/20) - fixed banned words sometimes granting more strikes than they should - added special messages to r!ping if the response time is more than 2000ms - commands no longer run if the message violates automod (previously this only worked with banned words) - added r!lb as an alias for r!top v60.2 (4/30/20) - bulk delete logs are now deleted after two weeks - turns out storing thousands of discord messages in a database takes up a lot of space - there's now a button to download the logs (at the bottom) - any logs created before this change have extra time to live and will be deleted on june 1st - i also changed the url slightly for newer logs - added a handful of new r!react images - r!paste now only embeds URLs if the member has the 'embed links' permission - members with 0 xp no longer appear in r!top v60.1 (4/22/20) Some things I thought would be useful - added "r!rank sync" - adds missing levels roles and removes level roles you shouldn't have - an alert will appear when doing r!rank if your level roles are incorrect - i decided to make syncing optional instead of forcing it :P - added "r!rank syncall" - requires manage roles permission - same as above, but syncs EVERYONE'S level roles whether they like it or not - added "max paste length" to the general tab of the dashboard - allows you to tweak how long messages from r!paste can be - if a pasted message is longer than the server's max length, it won't be pasted - it can still be pasted in other servers, though - improved the code for role persisting - fixed custom commands auto-checking the "delete author's message" box for some reason - fixed various small errors v60.0 (4/19/20) INFINITE. STRIKE. ROLES. I got bored during quarantine and rewrote ALL the code for warning, banning, and automod. (the old code was disgusting) Not only is the new code way shorter and more efficient, but it also supports INFINITE STRIKE ROLES!!! - you can now add as many strike roles as you'd like on the dashboard, instead of being forced to use 3 - i put a max of 30 strikes but i might raise it in the future if people really want more for some reason - automod can grant more strikes as well - reworked the banned words interface - removed r!warnconfig - because of the complete code rewrite, warnconfig no longer works - was definitely not worth remaking when you can just use the dashboard - sorry :( - tweaked how r!message works - all messages are now indented to avoid confusion - messages with invite links will no longer be queued - links will never embed - removed a bunch of flags - embedMessageLinks is now always done - reactOnTypo is now always done - automodBan is now configurable (see below) - embedWarns is now a seperate setting in the warn tab of the dashboard - new automod option: strikeout procedure - you can now choose how and when automod should ban members - by default, it will only ban members if they break a rule on the ban await role - you can now add xp to members that left the server on the online leaderboard - channels on the dashboard are now sorted correctly (oops) - fixed random role missing from r!rng (also oops) - fixed being unable to remove disabled channels on the dashboard - added an alert on the dashboard when the bot's highest role is too low to grant most roles - a whole buttload of code optimizations v59.1 (4/14/20) - two new dynamic responses for custom commands - {regex}, which runs a regular expression - {replace}, which finds/replaces text in a string - added a new param to {args} to get arguments X through Y (e.g. arguments 2 to 4) - more details at robotop.xyz/customcommands/dynamic v59.0 (4/13/20) This update is dedicated to quarantine for giving me nothing else to do - lots and lots of improvements to custom commands - you can now set a cooldown for custom commands (1 - 1200 seconds) - you can now make custom commands that randomly choose from different image urls - custom command limit increased from 69 to 100 - increased the size of custom command textboxes - attempting to rename a custom command no longer creates a duplicate - commands on the dashboard (robotop.xyz/commands) can now be clicked to see more details, such as aliases or examples - this one is long overdue - major changes to the website's css files - there aren't any visual differences, but now there are 3 css files used instead of 1 - one that's always loaded, and one that's loaded depending on your theme (which simply tweaks the colors) - the bot now says "unwarn" instead of "pardon" in most places - fixed r!whitelist not working, like at all - fixed the online leaderboard sometimes not loading if you're logged out - changed the website's 404 page a little bit - removed the warn manual since it's outdated and overcomplicated v58.0 (4/11/20) While this update doesn't add any big new features, I'm considering it a major update because of all the hard work that went into it - error handling! - previously, if you ran a command and it triggered an error in the code, there would be no response from the bot - now, it responds by telling you that something went wrong while trying to run the command - the error information will also be anonymously sent to me - ...in an organized way in which i'll actually be able to acknowledge it - don't worry, none of your info is being sent. all i get to see is the error message and line number - it also works on the dashboard! - previously there would be about ten seconds of loading then it would just say "error!" - now it's... not stupid anymore - the dashboard has been moved to robotop.xyz! - robotop.xyz used to just redirect to gdcolon.com/robotop - now, gdcolon.com/robotop redirects to robotop.xyz (how the turntables...) - because of how the dashboard is coded, this actually took a fair amount of time to pull off - let me know if you come across any issues from the change (e.g. pages/assets not loading correctly) - also, url parameters are no longer used - most urls looked something like "robotop.xyz/dashboard?guild=123456789" - now the url has been changed to "robotop.xyz/dashboard/123456789" - using an old url will redirect to the new one - fixed being able to cause recursion with custom commands (infinite loop if {args} was literally "{args}") - fixed a crash with r!xp - fixed r!rng not displaying server emojis properly - added a dad joke response for "i'm dead" (suggested by @Marshmallo70) v57.3 (4/9/20) - you can now edit xp directly from the online leaderboard - users with the "manage server" permission can click on a member to change their xp - here's what it looks like: https://twitter.com/RoboTopBot/status/1248371936272379910 - hopefully fixed a bug where ban messages wouldn't show v57.2 (4/6/20) A few nice dashboard-related XP changes - the online leaderboard now has pages - scroll to the bottom to go to the next page - also, it no longer lists members with 0 XP - you can now reset everyone's XP on the dashboard - it's under the xp tab, who would have guessed - editing individual XP via the dashboard is being worked on - fixed r!sfx windows playing the wrong sound - fixed being able to use @everyone for timed/multiplier/reaction/etc roles (it breaks stuff) - improved error messages when r!emoji fails (e.g. if you used all your emoji slots) - added all the lines from you're welcome to r!maui v57.1 (4/2/20) Well, it was a good run but unfortunately, I have to pull the plug on RoboTop GOLD. Apparently making a shop that uses real money takes a lot of tough networking knowledge and I bit off a little more than I could chew when trying to make it work bug-free. Jokes aside, I really hoped you liked this year's April Fools joke. I had the idea of RoboTop GOLD since last summer and I was super excited to finally release it. The whole thing took about a week or so to make, as I changed nearly every command and put together a whole new web page. See you all next year, and remember that RoboTop will always be 100% free! <3 v57.0 (4/1/20) ROBOTOP GOLD HAS BEEN RELEASED! I'm proud to announce the release of RoboTop GOLD - the awesome new premium subscription for RoboTop. Purchase a subscription today at https://robotop.xyz/gold and gain access to: - Exclusive commands such as r!meme, r!send, r!headpat, r!ping, and more! - Special features like custom poll emojis, larger r!place brushes, and ten clipboards for r!copy! - A sweet XP boost to fly to the top of any server leaderboard! If you want the perks above and feel like supporting the development of RoboTop, it would mean a ton if you could purchase a GOLD subscription <3 v56.2 (3/18/20) - added 8 new sound effects! - brrr, nokia, hamoud, ppmusic, chungus, npesta, dorime, hey - fixed robotop giving himself reaction roles when creating them - added commas to large numbers in r!info and just to be safe, r!ping - removed r!alert since 99% of the v12 stuff was thankfully dealt with - changed r!rate's normal star to a custom emoji for consistency on mobile devices v56.1 (3/10/20) I think the worst of the v12 changes are over, thankfully. Anyways, here's some logging updates and other fun stuff - suffixes for welcome messages! - add {NTH} to a welcome/leave message to get the ordinal/suffix for the current member count - 1st, 2nd, 3rd, 4th, etc - partial logging! - edited/deleted/reacted messages will now log even if they were sent before the bot was last rebooted - since the bot never actually saw them, deleted messages can't show the text and edited messages can't show the original version - reaction logging works flawlessly though - added booster since (user) and last pin (channel) to r!info - added an easter egg to r!8ball, hmmm - reaction logging now ignores bots - fixed adding roles not logging - fixed commands that find users by name (role, mimic, etc) taking FOREVER in large servers - it's a temporary fix actually, see my report at https://github.com/discordjs/discord.js/issues/3925 for the cause - fixed messages with square brackets breaking hyperlinks in reaction logging - fixed some other v12 bugs I'm getting a few reports that things are logging twice. Not sure why, but I'll look into it. Also - a special, heartfelt "screw you" to the discord.js devs for secretly renaming the "disableEveryone" setting to "disableMentions" WITHOUT SAYING IT ANYWHERE. Glad I fixed that before it was super abused :P v56.0 (3/8/20) WELCOME TO THE WORST ROBOTOP UPDATE YET discord.js (the library robotop uses) just updated to v12, and the absolute geniuses decided to change tons of functions and break a heck ton of preexisting code. i tried my best to fix as much stuff as i could, but it's a HUGE bot and i'm only one person. please help report bugs in the support server or with r!bugreport - added a lot of bugs, please report them - removed r!achievement, it just stole from minecraftskinstealer anyways :v - fixed using r!rank on other users displaying the wrong color - more stuff for r!info - server boosts, vanity url, alert channel, and custom status emojis - the bot now responds when doing r!unmute instead of silently unmuting the user - r!sfx should be working now please forward all complaints to the discord js developers v55.2 (2/25/20) - you should now be able to properly add xp to users with 0 xp (they're not logged in the system yet) - you can now use user ids to add xp to members that left the server but had xp v55.1 (2/20/20) teeny tiny bugfix update - fixed r!% seeding being the same for every person - fixed r!slowmode requiring a unit to be specified if you tagged a channel - fixed a rare crash with reaction roles - fixed some typos - added gd version to r!gd, since it was added to gdbrowser api - added r!whois as an alias for r!info v55.0 (2/2/20) - REACTION ROLES! - you can now create reaction roles with r!reactrole (not on dashboard, probably too complicated to ever be added) - basically, you can make the bot toggle roles when users react to a certain message - you can also set messages to only allow one of the multiple roles to be active at a time - you can have up to 100 reaction roles per server - read r!help reactrole for info on how to set things up - it's brand new so please report bugs through the r!support server or r!bugreport - changed the design of r!help - it's slightly more compact now, which is nice because it was getting pretty chonky - fixed the "keep highest level role only" option being totally broken and removing roles when it shouldn't be - oopsies v54.1 (1/31/20) - you can now disable certain dms from robotop on the dashboard (https://gdcolon.com/robotop/settings) - for example, you can disable getting a dm when you're warned, but keep everything else on - removed all list commands - r!listpenguins is now r!penguin list - r!blocks is now r!achievement list - r!gdchars is now r!gdbox list - you can now have infinite disabled roles, instead of just one! - deleted r!ignore, just use the dashboard for disabling roles - members are now dm'd upon getting muted - fixed level up roles not being granted in some cases - doing r!emoji without manage emoji perms now shows the commands that you're still able to use reaction roles coming soon^tm :eyes: v54.0 (1/26/20) - r!xp can now add/remove a certain number of levels from a member - type "L" or "levels" after the amount of XP - "r!xp @GDColon 5 levels" would add 5 levels to GDColon - "r!xp @Tubular9 -10L" would remove 10 levels from Tubular9 - note: adding/removing levels will always put you at the VERY START of the new level - new xp setting: level up interval - changes how often the level up message should send (default is 1) - message will send whenever the level is a multiple of the interval - e.g. if the interval was 5, the level up message will only send when you reach level 5, 10, 15, 20, etc - you can set the interval from the level up message section of the dashboard, or with r!xpconfig levelUpInterval - new r!emoji feature: find - type r!emoji find [name] to search the past 50 messages for an emoji with that name - e.g. if someone posts a funny emoji named :heckyeah: and you want to yoink it, just do "r!emoji find heckyeah" - added commas to large numbers in r!rank and r!top - on the topic of commas, they no longer mess up r!xp - number inputs on the dashboard now turn red if you enter a number that's too high/low - it used to automatically change the number to the closest allowed value, but it was really annoying - fixed r!paste and r!mimic following automod rules even if automod is disabled - doing r!info on a bot now displays (bot) next to the name v53.0 (1/13/20) - the online xp leaderboard is now 1000x cooler! - it's now split into four tabs - leaderboard: the top 250 ranked users in the server - rank: your current rank, along with statistics like estimated time until next level up - level roles: a list of all the level roles, along with how close you are to obtaining them - multipliers: a list of all the multipliers - dark theme is now the default dashboard theme! - *sigh* you convinced me. it does indeed look better - you can no longer run r!tweet through custom commands - probably a good idea - all commands now disable the automatic factorial detection feature - e.g. "i turned 10!" would trigger but not "r!place 10!" - fixed @RoboTop not working as a prefix - discord apparently changed tags to <@!12345> v52.2 (1/8/20) - added an online xp leaderboard! - you can access it through r!top, r!dashboard, or through the dashboard itself - still in beta, so it's very basic and is missing a lot of features - planned features: list of level/multiplier roles, adding/removing xp from people, resetting xp, multiple pages, and more - added an option to make the online leaderboard private - this means that only people in the server can access it. in case you want privacy or something - r!top now says the total number of pages - you're welcome - getting an error on the dashboard now displays more useful information - as opposed to "oopsie woopsie! uwu!" v52.1 (1/3/20) When was the last time we had a dashboard update? Not sure, but it was probably a while considering the dashboard code was so poorly written that I wanted to vomit - xp is finally on the dashboard! - it didn't actually take 1.5 months. it only took a day. but i'm lazy and hate web design sooo..... - xp commands are finally on the command lists! - i forgot to add the "xp" category to the command lists on the dashboard (both the web page with the commands and the checkbox list on the dashboard) - xp is flexed on the homepage! - the security joke it replaced wasn't even that funny - changing themes no longer reloads the page - just don't mash the button or you might wind up at the doctor - lots of optimizations to the dashboard code - so apparently javascript has these things called functions, which help cut down on the amount of copy/pasted code - i mean, i knew that. but apparently my past self didn't. and he's the moron who coded the website - you are now given a heads up message when trying to ban the three-letter A word or C word - your members should be allowed to "assume a cucumber" without automod freaking out v52.0 (12/28/19) Some more quality of life changes. I have a few other ones planned (e.g. using r!xp to add a certain amount of levels, or toggling r!copy and r!paste seperately), but as long as I'm done for the day I might as well upload what I have - disabled place notifications for EVERYONE - you can turn them back on, it's just a little "reset" - a lot of people didn't like the fact that it was on by default - honestly i agree with them. i must have been high when i made that decision - the r!place grid now reminds you that notifications exist in the bottom right corner, in the odd chance that someone wants them - no, i cannot do anything about the prefix always saying r!, it's hand drawn pixel art - several r!uwu impwovements - no longer pings users - a few more replacements (e.g. "ause" -> "aws") - fixed lots of unicode characters being considered emojis - added 'augh' to r!sfx - r!gd now ignores line breaks in hacked level names - r!info server's member count is now 100% accurate - r!color no longer requires a "mode" and defaults to edit (e.g. "r!color red" is the same as "r!color red edit") - for those who don't already know, "edit" means your current color role - added a few new ping messages v51.0 (12/9/19) I am stupid. I had the #suggestions channel on the RoboTop server muted for like two months without realizing. And I definitely missed a few gems on the way. So I added a couple of them ;) - apparently you guys really wanted reaction logging - so i added reaction logging - log tab of the dashboard, you know the drill - REACTION LOGGING IS NOT RECOMMENDED FOR LARGE SERVERS - r!mimic no longer works on messages which violate automod (previously it just checked banned words) - raised max xp multiplier from 5x -> 10x - using r!pardon without specifying an amount of strikes now defaults to 1 - fixed crash when using "r!gd daily" while no daily level is active. i blame robtop for this one v50.0 (11/28/19) 50 major updates! Whoa! (+ more if you count the old ones, I guess) Here's to many more :D - yet another new command: r!copy / r!paste - "copies" the most recent message in a channel - use r!copy [user] to copy the most recent message from a specific user - the message can then be pasted with r!paste (sort of like r!mimic) - use r!clipboard to see what's currently copied - users with r!mimic disabled cannot have their messages copied or pasted - r!help now acknowledges custom commands - fixed bug where the r!place cooldown would break and you would get multiple notifications v49.0 (11/24/19) - new command: r!thisvid - downloads a video or gif from twitter - you can do "r!thisvid [twitter url]", or like r!uwu, just do "r!thisvid" to scan the most recent messages for a twitter link - i'll probably add support for instagram or other sites in the future - r!message is **FINALLY** stored in a database - basically, messages will now be remembered even if the bot reboots - this means that there will be no more "this is the first message since the bot went online" - i should have done this a long long time ago but i am a lazy moron - a few small tweaks to make r!uwu smarter and even more cursed v48.0 (11/20/19) - nyew commyand: r!uwu - twanswates myessages to uwu wanguage!! i am so sowwy fow dis!! nyaa!! - type "r!uwu" wiffout anything aftew to twanswate da myost wecent myessage in da channyel!! ^w^ - 5 nyew sound effects!! ~ - clown, error, honk, padoru, and partyhorn - wemoved r!sounds, nyow uw can just type r!sfx wiffout specifying a sound to vyiew da wist - fixed r!wawn nyot wowking in tyoggled channyels, even if ure an admyin! v47.1 (11/16/19) - you can now set a role's xp multiplier to 1 to delete it (0 still works) - you can no longer add level/multiplier roles that the bot doesn't have permissions to add - raised the limit for r!xp - fixed 'max level!' not displaying at level 500 when using r!rank v47.0 (11/12/19) XP HAS BEEN RELEASED!!! This is something I've wanted to program for a long long time, and I'm really surprised by how easy it was! It's still in beta, so if anything is weird be sure to send it over to me with r!bugreport - implemented POLARIS (the Partially Original Level and Rank Incrementation System) - must be enabled via r!xpconfig - "r!xpconfig enabled true" will turn it on - you can't configure on the dashboard yet, but i swear i'll get to it eventually. sorry :( - every message grants 50-100 XP, with a cooldown of 60 seconds. all those numbers can be modified though - admins can add/remove xp from anybody they want, whenever they want! - when you get enough XP you will level up! you can also set the bot to hand out special roles for reaching certain levels - and it's 100% free ahahahahaa - multiplier roles! wanna make members with a certain role earn 1.5x the XP? how about 0.5x? robotop's got ya covered ;) - dynamic level up messages! in a certain channel, in dms, or even both! - and much much much more! - probably some bugfixes that i totally forgout about Apologies if the setup is a bit confusing, I'll be working to get everything on the dashboard ASAP. In the meantime you can use r!support to reach out to me on the RoboTop support server. <3 Colon v46.4 (10/30/19) - fixed r!gd being buggy - this is because it relied on a few things at gdcolon.com, which were removed and moved over to gdbrowser.com - speaking of, r!gd now uses gdbrowser's api v46.3 (10/28/19) - added custom statuses and if the user is on mobile to r!info - cannot read the emojis on custom statuses yet - fixed r!conch always returning 'yes' v46.2 (10/24/19) - added r!gdname (gdn or gn for short) - generates a randomized geometry dash level name - ported over from https://gdcolon.com/tools/gdname in five minutes :P v46.1 (10/22/19) - fixed r!poll not working - turns out it had nothing to do with users on shard 1, it just didn't work for anyone with the default poll emoji - but yeah it's fixed now so yay! v46.0 (10/20/19) It's been a while hasn't it... Sorry for the slow development. I've been REALLY focused on gdbrowser.com, it's like my baby. - added, removed, and changed command aliases - autocomplete: added "auto" - ban: added "banhammer" and "hammer", removed "bannes" - changelog: added "patchnotes" and "news" - channeltoggle: added "cht" and "ct" - dashboard: added "db" - emoji: added "e" - gdbox: added "gdb" - help: added "list" - kick: added "boot" - penguin: removed "p", now for ping - ping: added "p" - place: added "pl" - poll: made "vote" work for a-g - random: added "roll" - react: removed "r", now for role - recolor: added "rc" and "paint" - role: added "r" - rolepersist: added "save" and "saved" - slowmode: added "sm" - sound: added "s" - toggle: added "t" - unban: added "ub" Remember, you can always add your own aliases using custom commands! Anyways, I'm going to be pushing another update very soon that attempts to fix r!poll now working for servers on shard 1 (r!info shard). Apologies for being lazy and not tackling this one sooner! v45.5 (10/6/19) Sorry if I haven't been touching RoboTop too much lately, I've been really focused on another project: https://gdbrowser.com - you can no longer ban/kick members with the same highest role as you, or a higher one v45.4 (9/22/19) - your server's prefix is now used across the dashboard, instead of r! - r!ban can now ban users that robotop does not share a server with, provided you have the user id - improved code for timed roles set to 0 minutes (instant) - r!bugreport can now be properly toggled - priority commands no longer run unless you have the proper permissions - priority commands are commands that run even in channels that have been toggled off (chtoggle, ban, warn, etc) - previously, anyone could use those commands and get a response in toggled off channels. now you require the correct permission for the command to even trigger. v45.3 (9/19/19) - added r!execute - manage server required - runs what you typed as if it were a custom command, useful for testing dynamic responses - e.g. "r!execute I choose {choose|A|B|C}!" -> "I choose B!" - added a new custom command option: "run command" - exactly what it sounds like, it runs a robotop command as if the user typed it - can be used to make custom aliases for official commands - if the command triggers another custom command with "run command", it obviously won't run it the second time. - supports dynamic responses - may be buggy so report weird stuff with r!bugreport or r!support - added an explanation on how to use custom emojis in the dynamic response list - using r!emoji clone on an emoji that robotop doesn't share a server with no longer requires you to manually input the name - fixed bug where, this time, viewing emojis with numbers in the name wouldn't work - edited messages in the log now use custom emojis and user/channel tags v45.2 (9/15/19) - made custom commands even better by adding embeds to them! - you can check out the neat things you can do with embeds at the bottom of https://gdcolon.com/robotop/customcommands/dynamic - automod will now say "that's racist!" instead of "language!" when a user says a certain naughty word (only if the word is banned, of course) - added custom command link to r!dashboard - fixed bug where viewing emojis with underscores in the name wouldn't work v45.1 (9/11/19) Custom commands just got {rng|1|100} times better. Introducing the best thing since r!penguin - DYNAMIC RESPONSES! - you can now spice up your custom commands with the extremely powerful dynamic response system i coded when i should have been paying attention in class - you can get user/server/channel info, generate random numbers, manipulate text, do math, compare strings, and much much more - i put together a little cheatsheet here: https://gdcolon.com/robotop/customcommands/dynamic - may be buggy, use r!bugreport or contact me if something is acting the way it probably shouldn't be I'm really excited to see what you guys can make with this! Don't hesitate to share your creations with me on twitter, discord (r!server), or anywhere else you can find me Also, if you feel like something useful is missing from the dynamic response list, I'l love to hear your suggestion! Happy dynamic response-ing!!! (idk) - Colon <3 <3 <3 v45.0 (9/10/19) THE MOST REQUESTED FEATURE IS FINALLY HERE! That's right, r!fortnitestats Just kidding, it's CUSTOM COMMANDS!!! - added custom commands to the dashboard! - the most requested feature from the robotop survey back in september - full survey results: https://twitter.com/RoboTopBot/status/1170550857806569473 - you can check it out at the 'commands' tab of the dashboard - you can set a response, a DM, an image to attach, and roles to add/remove/toggle - you can also enable/disable the command for certain roles/channels - extremely powerful dynamic responses are being worked on and should be added soon - dug through old discord messages and managed to piece together robotop's pre-changelog history. - pre-1.0 updates have been added to the very bottom of the changelog for maximum nostalgia :) - the r!place notification is nice and embedded now - almost deleted robotop the other day (https://twitter.com/TheRealGDColon/status/1171092693566574592) if you find any bugs with custom commands, don't hesitate to let me know through r!bugreport, twitter (@therealgdcolon), or through the robotop server (r!support). making the website/interface took about a week of work, and the actual code took about two hours :P - html sucks. Have fun making custom commands :D - Colon <3 v44.0 (9/1/19) a very random update. sorry, bad joke - added TONS AND TONS of new messages to the random pools!!!!! - special thanks to the Juniverse discord server for helping me brainstorm these! - dashboard loading messages: 100 -> 200 (+100) - dashboard homepage slogans: 50 -> 100 (+50) - 8ball responses: 66 -> 119 (+53) - dm responses (general): 99 -> 132 (+33) - dm responses (image): 34 -> 40 (+6) - dm responses (video): 20 -> 23 (+3) - dm responses (swear): 19 -> 21 (+2) - ping responses: 56 -> 65 (+9) - banning without perms: 23 -> 28 (+5) - warning without perms: 19 -> 21 (+2) - automod violation log: 23 -> 25 (+2) BONUS FEATURES!!! - you can now split r!dunsparce arguments with commas! - r!dunsparce person number 1, person number 2 - dashboard saving is a lot faster - it sends less stuff to the servers when saving (reduced from 20-30kb to 4-5kb, pretty good if you ask me) - lowered the dad joke character limit and added a cap on how many newlines you can put in a message (to avoid spam) - r!invite now sends a randomized message (12 total) along with the link to add RoboTop v43.1 (8/27/19) - fixed a couple inevitable purge bugs - placeNotification is now enabled by default v43.0 (8/27/19) you know what's fun? A MASSIVE R!PURGE OVERHAUL, that's what. - you can now add FILTERS when purging! here are some examples: - 'r!purge 5 images' will purge the 5 most recent messages with images - 'r!purge 10 "meow"' will purge 10 messages containing "meow" - 'r!purge 3 bots' will purge 3 messages sent by bots - 'r!purge 3 !bots' will purge 3 messages NOT sent by bots - 'r!purge 20 !$"over" | ^[!] | !newbies' will... that one's a little more complicated to be honest. - you can view the full list of filters with 'r!purge filters' - also, r!purge no longer deletes pinned messages! it's a miracle! v42.4 (8/26/19) - you can now report bugs directly to the dev with r!bugreport - abuse of the command will result in a ban. i wonder how many people will be banned from day one... - you can only report one bug at a time so be careful v42.3 (8/24/19) - more stuff for r!gd :D - 'r!gd user [name]' -> gets a user's profile (icon, stars, demons, global rank, etc) - 'r!gd user [name] levels' -> gets a user's levels and with that, i think the command is finally complete. i can finally rest now. v42.2 (8/23/19) - new auto command: factorial detection - searches for messages with an exclamation mark after a number, and gives the factorial for it - e.g. "today i turn 10!" makes the bot respond with "10! (10x9x8x7...) equals 3628800" - off by default (obviously) - added six new sound effects to annoy people with! - yoshi, recordscratch, cave, rimshot, laughtrack, and creeper - added some silly little responses when you try to do r!ban without permission v42.1 (8/22/19) - the changelog has finally been moved to the robotop website! about time! (https://gdcolon.com/robotop/changelog) - you can now change your r!poll emoji to something more exciting! (upvote/downvote, check/x, happy/sad, etc) - use 'r!poll emojis' to change your emoji (dashboard soon) - customPollEmoji flag has been removed - all random pools (ping responses, 8ball responses, maui quotes, dm responses, etc) have been moved to .json files for easy editing == dashboard changes == - you can now visit 'https://gdcolon.com/robotop?' to view the logged out version of the robotop homepage - i also changed the big 'ROBOTOP' at the top to a fancy ol' image - made the 'flags' tab of the dashboard look a lot less terrible - server select page now shows new symbols next to the server name depending on permissions - 🛠️ if you can edit all settings, 🔨 if you can edit some (e.g. manage channels but not server) and 📋 if you can read the modlog v42.0 (8/19/19) It's called RoboTop so you know what, it should be able to browse the Geometry Dash servers. ¯\_(ツ)_/¯ - r!gd is finished!!! (probably the biggest command yet) - you can now search for levels (r!gd sonic wave), view lists (r!gd trending) and much much more! - i recommend reading r!help gd to see all the stuff you can do, it's pretty awesome - you can now do 'r!emoji [emoji]' to view an emoji instead of 'r!emoji view [emoji]' - fixed r!poll[a-g] not working v41.6 (8/18/19) - automod now gives information on deleted invite links - automod now only deletes valid invite links (also ignores invites for the same server) - added a flag in case you want to delete invalid ones as well (automodInvalidInvites) - you can now do r!info on an attachment, but i don't really know why you'd want to - added splash image to r!info server (if the server has one) - fixed bug where the dashboard still thought the max saved role limit was 20 (you can do 25 now without issues) - fixed bug where spellcheck always worked regardless of if it was toggled. OOPSY! v41.5 (8/16/19) - renamed r!gd to r!gdbox - deleted r!gdlogo because it's slow. better to use the website - added r!gd, a command that lets you get info on Geometry Dash levels via the servers. it's still in alpha so way more stuff soon! v41.4 (8/15/19) - using r!warn without specifying an amount of strikes now automatically gives a verbal warning - e.g. 'r!warn @gdcolon' or 'r!warn @gdcolon stop being dumb' - added 'r!tr' as an alias for r!timedrole - added 22 variations of 'did an oopsie' for the automod violation log (e.g. [username] done goofed, [username] broke a rule, etc) - The dashboard no longer collapses when you click save (about goddamn time) - changed how loading messages on the dashboard work (api only sends one instaed of the full array) - the 'grammar' automatic command has been renamed to 'spellcheck' - the dashboard now shows if you have the manage roles permission (for viewing modlog) - r!help now says how long it's been since the last update (x days ago) instead of the exact date (8/15/19) v41.3 (8/15/19) Help me decide what to add to RoboTop! - added r!survey, a temporary command that simply links you to a RoboTop survey - it would be a huge help if you could fill it out, it only takes a minute or two at most - you can no longer grant roles higher than your top role with r!role - rewrote playing status code to make it way easier to change - get hyped for a TON of awesome updates! - https://twitter.com/TheRealGDColon/status/1161745148012912641 v41.2 (8/14/19) I have returned from my month at summer camp! Good thing nobody found any brutal exploits in the bo-- crap. - fixed timed role exploit - apparently you could use the command without any moderator permissions - adding/removing timed roles now requires manage server and syncing requires manage roles I'd like to give my sincerest apologies to any servers that were affected by the exploit. I was a fool for forgetting to do such a basic thing like checking user permissions. I promise that I'll be more careful with my work next time. You can trust me, I swear <3 - Colon v41.1 (7/15/19) - removed send anonymous data flag because privacy = good - replaced it with a new flag called seededRandom - makes r!percent, r!conch (not 8ball) and r!rate seeded - for example, this means that 'r!rate gdcolon' will always return the same result - results are still different between servers v41.0 (7/15/19) - squashed as many sharding bugs as i could possibly find - i think the bot should be okay now - the dashboard works again! - r!percent works again! - r!emoji works again! - using 'r!emoji add' without giving the emoji name will now default to the attachment's filename instead of giving an error keep your eyes peeled for more pesky bugs! v40.99999 (7/14/19) "The really broken sharding update" I've just added sharding to the bot. This means that there are now multiple RoboTops each in charge of different 'chunks' of servers. A lot of code had to be rewritten to do this, so there will inevitably be a lot of bugs (especially on the dashboard). Please report any issues you find to the RoboTop server (r!support) - it will help me out immensely! - Added sharding because if I don't do it before 2500 servers Discord will be mad. - Anything that gets info from something on Discord outside of your server has been recoded - This means ommands like r!info and r!mimic might fail to find users outside your server - You can now do 'r!timedrole sync' to grant your timed roles to anyone missing it for some reason - Join time and raid protection is still taken into consideration - r!info timezone is now actually EST (oops) - Added shard and uptime to r!info @robotop, along with more info with r!info shard - Added r!instaban because reactions suck - Raid protection and "don't ping people you meanie" now ignores bots - Role finding (for r!info, r!role, etc) has been greatly improved and should find stuff more easily without typing the whole name - The Place notification account setting should activate instantly as opposed to after the next pixel cooldown Thank you all for your continued support! <3 v40.2 (6/25/19) - a couple things on the dashboard are now hidden from users without proper permissions - join/leave/ban messages, join/ban dms, and automod's banned words - was debating making it say [redacted] but the joke is too forced so i went with ??? - the link to view the modlog is hidden as well - removed etika from r!sfx. rest in peace 🙏 v40.1 (6/25/19) - added raid protection to timed roles - you can choose to only give timed roles to accounts older than x days - you can also choose to dm or kick them v40.0 (6/24/19) robotop is now in 2000+ servers! 🎉🎉🎉 thank you all so much for your continued support <3 - added r!account - use it to modify your account settings, just like the dedicated page on the dashboard (e.g. block mimicking, dm help, etc) - r!account [setting] [on/off], view list of settings with r!account - added a new setting that allows you to recieve a notification when your r!place cooldown expires - added r!modlog - lets you view the most recent moderation actions on the server - can filter by username, moderator, type, reason, and case id - requires manage roles permission - read r!help modlog for more info - all commands that search for users (info, mimic, warn, ban, etc) now prioritize users with higher roles - using r!warn without permission will no longer say "this member doesn't exist" - you can now mute users without a duration with r!mute [user] [reason] instead of r!mute [user] x [reason] - changed how r!ping works, should be much more accurate now - minor bugfixes that you probably wouldn't care about v39.0 (6/18/19) - added the MODERATION LOG! (whoooaaaaa) - all moderation stuff (warning, banning, automod, etc) is now logged and able to be viewed from the dashboard - requires Manage Roles permission to view - it's still in beta so there's a few missing features. hold tight! - added the link to the moderation log to r!dashboard in case you're lazy - messages containing a banned word will no longer trigger commands - started work on command that cures common cold v38.1 (6/17/19) - started work on a cool feature (all moderation stuff is logged and will be able to be viewed in the dashboard) - not released yet, but i figured i'd let you know my plans =) - attempting to use r!warn without proper permissions now returns a randomized message (as opposed to nothing) - you can now do r!i instead of r!info - you can now do "r!info s" instead of "r!info server" - added r!magikarp, a "reskin" of r!dunsparce - suggested by PinkSheep752#5249 in the robotop discord! - https://discord.gg/ZyteNnU v38.0 (6/10/19) - added r!percent - it's a silly little command that rates your characteristics from 0-100%! - r!percent [thing] OR r!percent [thing1], [thing2], [thing3], etc - can also rate other users, do r!percent (username, in brackets) [something] - suggested by syncxtic_innxvations(//)#1305 in the RoboTop Discord! (r!server) - join messages and join DMs are now seperate! (now you can have both) - this was a very highly requested feature, so i went ahead and added it for you all <3 - if you previously had your join message channel set to DM, it should have automatically switched over - you can no longer warn robotop, because i am a meanie v37.0 (6/5/19) - added r!gdlogo - generates a custom geometry dash logo - you can also try it out online at https://gdcolon.com/generate/gdfont - automod now scans edited messages! - temporarily removed r!undertale because it's broken. i'm looking into it - bought better servers because more power = good ;) v36.4 (6/2/19) - you can now preview your server's welcome/goodbye/ban messages in dms through the dashboard - hopefully got around discord's naughty habit of removing playing statuses - fixed a rare bug where r!mute refuses to work - fixed r!info being unable to find managed roles (the ones you can't delete/grant, eg. bot roles) v36.3 (5/27/19) - fixed r!role being terrible - changed r!info priority (channel -> vc -> category -> server -> emoji -> role -> member) - fixed leave messages saying members left after 18,000 days - now just says ? days, since 18,000 means that the bot read the user's join date as 0 (1/1/1970) v36.2 (5/26/19) - temporarily removed r!math because apparently it was way more powerful than i thought - no like it crashed the bot from too many calculations - i really should have thought this one through - it's the way of the programmer, i guess - (thanks qrtz for finding all this) - fixed r!info not working on roles with no members in them - made r!undertale work again v36.1 (5/26/19) - added list of members with role to r!info role (max 25) - r!math now only reads "x" as multiplication if it would lead to an error otherwise - fixed r!kick not canceling if the bot can't kick the member v36.0 (5/25/19) third major update in a row, whoa! - added r!mute - mutes a user for a certain period of time, or permanently - really it just grants and removes a role so uhhh - logs it in the warn log and all that stuff - set it up with r!warnconfig mute, will add to dashboard asap - still in beta so there might be bugs - i hated every minute of coding this - added r!math - solves math equations using math.js (javascript math library) - it's pretty powerful - added channel name + timestamp to purge logs - fixed automod not logging messages that go over character limit - bot now reacts to youtube videos in dms v35.0 (5/23/19) - added r!react - posts a random reaction image, harvested from twitter replies 8) - sorted into categories, use r!react [type] to get fancy (details in r!help) - off by default since it has swear words (up to f bombs) - removed r!neck - let's face it, it wasn't that good - timed role bugfixes - continued to improve the dashboard's look v34.0 (5/20/19) - added DARK THEME to the dashboard! - click the "change theme" button in the top right to activate - can you stop asking for this now - you can now change some personal settings on the dashboard - do so at https://gdcolon.com/robotop/settings - you can now turn off the a̶n̶n̶o̶y̶i̶n̶g̶ helpful grammar correction dms via the link above - you can now choose to have r!help dm'd to you via the link above - added timed roles to dashboard - doubled max timed role time (12 hrs -> 24 hrs) - fixed bugs so small that you wouldn't even care v33.0 (5/17/19) why waste time with many bot when one do trick - added timed roles! (r!timedrole) - choose up to ten roles to grant after members are in your server for a certain amount of time! - works even if the bot crashes/reboots during the timer :D - you can now log changes to the bot (via dashboard) in your log channel, along with who made them - upped the dm cooldown from 0.3 seconds -> 1.2 seconds - tweaked the field order of r!info server - r!ban isn't terrible anymore - sabotaged a certain bot's servers - celebrated minecraft's 10th birthday <3 v32.4 (5/15/19) geez i update this thing a lot - greatly improved role searching, the bot will go great lengths to find the role you need - tries replacing spaces with underscores and removing non a-z/0-9 characters - added r!role, literally just adds a role to a user. always nice to have - fixed r!info not working without certain permissions - added server icon url to r!info - made r!info server way more compact - added r!uw as an alias for r!pardon/unwarn - dad joke module no longer pings users and has a few extra responses - egg v32.3 (5/14/19) seem to have an update streak going - two new small commands - r!dashboard: links you to the robotop.xyz, your server dashboard, or the command page - r!whitelist: whitelists a serverwide disabled command in the current channel - e.g. if grammar correction is disabled across the whole server, it would still work in the whitelisted channel - tweaked some embed colors in the action log - figured out that i could use console.trace() to find out where errors are coming from instead of throwing darts v32.2 (5/13/19) - added... something - please dont check the commands tab of the dashboard - off by default for obvious reasons v32.1 (5/13/19) - r!place now alerts + cancels if you set a pixel to the same color. you're welcome. v32.0 (5/12/19) some major yet minor changes - r!ban is now its own command instead of being part of r!warn (make sure to report bugs - r!support) - you can now specify a channel for r!chtoggle and r!slowmode - upped maximum persisted roles from 20 -> 25 - rearranged and tweaked a lot of stuff in r!help - you can now use r!help on a specific category of commands - added avatar url to r!info - fixed r!mimic and r!info being weird with default profile pics v31.1 (5/11/19) so discord js added slowmode changing, so... - new command: r!slowmode - sets channel slowmode, can be ANY number of seconds (instead of just 5, 10, etc) - slowmode added to r!info - slowmode changes added to logging (requires a name/topic change to show though, it's dumb) - added server management category to r!help - fixed bug where leave messages sometimes say the user left after 10,000+ days (now it just says '?') v31.0 (5/9/19) - NEW COMMAND: r!emoji - ULTIMATE. CONTROL. OVER. EMOJIS. - you can use it to view, add, remove, rename, or clone emojis from other servers - r!help emoji - HUGE NEW AUTOMOD THING: - starting a banned word with ! (e.g. !ass) will make it only trigger automod if the word is said on its own - would trigger automod: "ass", "big ass", "you're such an ass" - won't trigger automod: "grass", "eating grass", "assassin", "assassass", "asshole" - r!info @robotop now shows some extra info about the bot, such as the number of servers/channels/etc the bot is in - small grammar changes - started planning world domination v30.6 (5/8/19) - improved the user finding system (for r!mimic) - should be able to find users with underscores in their names by username now - still not able to find users with a mix of spaces and underscores in their names, i'll try to work something out - the r!poll emojis are now taken from the robotop server (r!server) rather than the juniverse server - added a message when trying to unban a member that isn't banned, instead of saying "can't find user" - made small changes to how embeds are logged v30.5 (5/6/19) - added a 0.4 second cooldown between commands to avoid abuse - using @robotop as a prefix should no longer be really broken - fixed a crash caused by removing all reactions on the ban confirmation then reacting with 🔨 (i know right) v30.4 (5/5/19) - minor visual changes to the dashboard - allowed customization of the r!place cooldown on the dashboard (3-20 minutes) - allowed clearing of r!place on the dashboard v30.3 (5/4/19) - you can now disable certain channels from being logged (via dashboard) - embeds from bots are now logged (previously just said "no message" since embeds aren't considered part of the message) - most bots don't do this so yay robotop =) - you can now do r!info (tag) to get info on someone who isn't in the server (must include #xxxx) v30.2 (5/2/19) r!place updates: - changed the old pink to "magenta" and added the real pink (oops) - removed the second instance of brown from the color list - added r!place colors to view list of colors - added r!place time to view current cooldown v30.1 (5/1/19) - r!place cooldown dropped to 3 minutes v30.0 (5/1/19) - new command: r!place :D - a serverwide 32x32 canvas which you can place one pixel on every 5 minutes - heavily inspired by r/place: https://www.youtube.com/watch?v=XnRCZK3KjUY can't wait to see what you guys make! if you work together maybe it'll look half decent, who knows ;) v29.0 (4/25/19) - you can now tweet using robotop - you can now tweet using robotop - you can now tweet using robotop - you can now tweet using robotop - you can now tweet using robotop - you can now tweet using robotop - you can now tweet using robotop (r!tweet) v28.5 (4/21/19) - you can now make automod ignore certain roles v28.4 (4/20/19) - bought more memory for the bot so it doesn't die as much (1gb -> 2gb) - fixed members with permission to r!warn not being able to use r!ban to place on ban await - fixed r!mimic not working, whoOOps v28.3 (4/18/19) - doubled the number of r!ping responses (a little below 60 now, i was bored ok) - 'r!rate me' is no longer case sensitive - roles created with r!recolor now have no permissions - role persist and automod are now logged with reason in the audit log v28.2 (4/17/19) - you can no longer set warning/persist roles that are higher than the bot's highest role (since it doesn't have perms to hand out those roles) - they're greyed out on the website now - you can still set the ignore role to whatever you want v28.1 (4/15/19) - a couple bugfixes to keep things running smooth - there's literally no change in the bot's behavior, it's just tweaks to attempt to speed the thing up - r!recolor now tells you if it wasn't able to give you the newly created role - r!purge now tells you that you can't purge messages older than 2 weeks (blame discord for that) - r!warns are now logged with reason in the audit log (appears in 'updated roles for user') v28.0 (4/12/19) LOGGING IS OUT! ...and it's probably buggy, but hey, it's the thought that counts - you can now log all sorts of server happenings like message edits and role updates in a channel - configured on the dashboard since i'm too lazy to code a command for it - it's still beta so report any issues on the support server (r!support) - you can now do r!recoloUr. ashamed i didn't add this earlier considering i'm canadian - fixed r!gd not being able to use the default avatar - fixed role persist *again - removed herobrine v27.0 (4/7/19) - new command: r!recolor (i really like this one) - modify your role color in all sorts of fancy ways, check r!help recolor for info ;) - fixed r!info showing server owner id instead of tag - figured out how to make the bot stop crashing every 30 minutes v26.3 (4/6/19) - r!warn can now find members by username (e.g. r!warn name 1) - works the same as r!mimic. replace any spaces in the name with underscores or the bot will think everything after the space is the strike amount v26.2 (4/6/19) - a lot of commands now reply if the bot is missing permisisons - fixed a weird r!gd issue where the box wouldn't generate at random times v26.1 (4/5/19) - added custom leave messages for bans, customizable through dashboard - removed {ID} from welcome messages, and replaced it with {MEMBERS} (member count) - {ID} still works, it's just not listed - fixed role persist issues - fixed automod's embedded warns showing user id instead of username - fixed an issue with entering welcome messages as always, you can report bugs at https://discord.gg/ZyteNnU v26.0 (4/4/19) ROBOTOP IS NOW IN 1000 SERVERS AND COUNTING! WOOOO!!! - added welcome and goodbye messages - extremely customizable, can randomly pick from a pool of messages - currently only editable from dashboard - r!info now shows the amount of days since you made your account - added more goodies to r!undertale (asriel + mettaton) - hopefully fixed some occurrences of "@invalid-user" v25.0 (4/2/19) - added r!kick and r!unban because you guys really wanted it - using the commands isn't exactly rocket science - disciplined the bot and stopped it from being able to ping everyone v24.1 (4/2/19) - undid all april fools changes ;) - restored old profile photo - removed r!send - re-enabled dm'ing the bot v24.69 (4/1/19) - New command, r!send - Similar to r!mimic - Anonymously sends a message to a user - 1/6 chance of telling the user who sent the message - Type r!send blockme to disable being messaged - Simplified profile photo - Switched coding language to Python - Achieved sentience at long last v24.0 (3/30/19) - new command, r!mimic - this one is gonna be abused like crazy so it's disabled by default for new servers that add the bot - the command uses webhook magic to send a message as another user (kind of) - if you're uncomfortable with people sending messages as you, do r!mimic blockme ;) - fixed role persisting only working once per user - simplified mob grinders v23.1 (3/29/19) whole lotta r!gd changes today - changed arguments to [text | icon | speaker name | color] - ^ flipped icon and speaker - name and color should autofill in most cases if you leave it blank - added more colors (aqua, green, orange and pink) - lightened grey a little bit to make it accurate to the one in GD - starting a message with % will use the mobile/non UHD font (aller) v23.0 (3/28/19) - HUGE NEW COMMAND, r!gd - Generate customizable Geometry Dash textboxes! - Unlike r!undertale, this one was coded entirely by me :D - Everything you need to know should be in r!help gd yeah, that's it for this update. but it's a really fun command to play around with =) v22.2 (3/26/19) - redid the main robotop dashboard page. looks really nice imo ;) (must be logged out to see) - automod's logged messages now get cut off after 1000 characters, because apparently that's all you get in embeds :v - grammar correction and now ass are now DISABLED by default when joining a server (this is long overdue) - grammar correction can now be properly disabled (oopsy!) - ass is a lot more strict over when it triggers (especially when doing something ass ass ass ass, etc) - added two new sound effects, nootnoot and yalikejazz ;) - renamed r!sound trumpet to r!sound trombone (thanks mudstep) >>>> If you ever come across a nasty bug, don't hesitate to report it in the robotop server (https://discord.gg/eTtu4PH) or tweet it to @RoboTopBot v22.1 (3/23/19) - persisted roles can now be edited through the dashboard (robotop.xyz) and it looks really nice imo ;) - r!rng no longer shows a random pinned message since it takes too long to scan for them and slows the command v22.0 (3/21/19) ROLE PERSISTING! - you can now persist up to 20 roles with the new moderation command, r!rolepersist - saves roles and regrants them to users who left the server with the role - warning roles are automatically persisted v21.45 (3/18/19) - added a cool new (?) button to https://gdcolon.com/robotop/commands v21.4 (3/18/19) - new website page! https://gdcolon.com/robotop/commands - obviously, it's a list of the bot's commands - fixed bug where the ban message box of the dashboard displayed weird characters and stuff - fixed bug where the entire dashboard site panicked when trying to read an "=" character - added /robotop/api page so people don't need to snoop around looking for api stuff - split the misc category in r!help into FUN and TOOLS v21.3 (3/17/19) - automod now grants 1 extra strike if a member uses double or more the max amount of line breaks in a message - currently this is hardcoded and can't be disabled but if i get too many complaints i'll add a flag or something - grammar correction now maxes at ten dms because any more than that is kind of bad for the bot - fixed r!flag embedWarns not working with automod v21.2 (3/16/19) - added a new flag, embedWarns - makes logged warns nice and embedded, but it's less compact - r!flag embedWarns true - added a symbol beside servers you can edit on the website - fixed a bug where the ban message randomly unsets when using the website v21.1 (3/16/19) - attempted to make the robotop site a little nicer on mobile, but jesus chrIST IS IT HARD v21.0 (3/16/19) THE ROBOTOP WEBSITE IS COMPLETE this is a project i've been working on for months. the whole thing is done with raw html - no website builders or crap were involved. just blood, sweat, tears, and programming. you can check it out at gdcolon.com/robotop or robotop.xyz there are probably some bugs, so make sure to report 'em to me ;) v20.6 (3/14/19) - added line break detection to automod - removes messages that take up too many lines - only detects intentional newlines caused by pressing enter - r!warnconfig lineStrikes / lineAmount v20.5 (3/13/19) - added spam detection to automod - X messages in Y seconds grant Z strikes - defaults to 10 messages / 6 seconds - same as Discord chillzone - keep the numbers high to avoid false warns due to slow internet! - fixed bug where pardoning a user with 0 strikes granted strikes to them - fixed a bug where entering a negative warn amount wouldn't pardon (thanks syvrix for finding these two suckers) v20.0 (3/12/19) 20 major updates! gosh darn. - NEW COMMAND: r!autocomplete - have google search autocomplete your message - r!autocomplete [message] - NEW COMMAND: r!twitter - get someone's latest tweet - r!twitter RoboTopBot - automod banned words are no longer case sensitive - banning with r!warn/ban now deletes the banned user's recent messages (past 24 hours) - fixed a couple gross typos I know the two new commands aren't very exciting, but I wanted to get something half decent out for the 20th update. Enjoy =) v19.1 (3/10/19) - automod can now deal with mass mentions - as always, use r!warnconfig and read the r!help warn doc for info - mass mentions must be unique (multiple mentions of the same user don't count) - upped the max time for r!kahoot to 60 seconds - inevitable r!kahoot bugfixes - most notably the one where it doesn't pick up any reactions v19.0 (3/8/19) KAHOOT KAHOOT KAHOOT - NEW COMMAND: R!KAHOOT - ROBOTOP CAN NOW CREATE MINIATURE KAHOOT GAMES RIGHT FROM DISCORD USING REACTIONS - I DON'T KNOW IF I'M LEGALLY ALLOWED TO CALL IT "KAHOOT" BUT IT'S MY NEW FAVORITE COMMAND - servers can only run one kahoot every 20 seconds to keep the bot from dying - fixed some minor bugs but i can't remember them. v18.0 (3/6/19) AUTOMOD IS BACK, BABY (and more powerful than ever) - automod can now detect swear words (or anything you want to ban) - set up with r!warnconfig [degree] word1, word2, word3, etc - for example, [r!wc 3 mudblood, ploopy, smurf] would cause those three words to grant 3 strikes - more info and cool stuff in the help doc (r!help warn) - you can now log automod's deleted messages in a channel - fixed not being able to set invites to grant 0 strikes - some more r!info tweaks <3 v17.9 (3/5/19) - added r!sfx nani - you can now get r!info on users by simply entering their username (no more ids and pings :D ) - r!info now lists all users roles - r!info [user not in server] now shows if the the user is banned or not, and how many servers they share with robotop v17.8.5 (3/4/19) - r!info can now get very basic info on anyone, regardless of if they're in the server or not - requires them to share a server with robotop - r!info now shows what position you joined a server in v17.8 (3/4/19) - fixed r!rng not displaying usernames correctly (i think) - added warnconfig to r!help - fixed a small crash with r!ban - fixed r!info being unable to find emojis with numbers in the name - fixed r!info [server id] showing info for the @everyone role instead of the server - renamed 'grantable' to 'externally managed' in r!info [role] v17.7 (3/3/19) - added a new flag, automodBan - if automod detects a violation from a user on the ban await role, it'll ban them - enable with r!flag automodBan on v17.6 (3/2/19) - added random pinned message and random card to r!rng - added more stuff to r!info (invites, bans, and more) - also reordered a few things - also time zones now - fixed r!ban displaying (error) in the log - fixed automod typo v17.5 (3/2/19) A U T O M O D ! ! ! - you can now set up automod in r!warnconfig - it's still in beta so there may be bugs - currently all it can do is detect invite links - but hey, it also grants strikes. neato - alias for r!warnconfig - r!wc - small fixes for r!toggle and r!info v17.0 (3/1/19) A WHOLE LOT OF HOOPLA - r!help has gotten a HUGE overhaul (you voted for it on twitter!) - it's a lot more compact and comfy looking, however I sacrificed giving info on commands for this. - no, you cannot change it back :D - NEW COMMAND: r!info - Get detailed info on a member, server, role, channel, voice channel, category, or emoji - ANOTHER NEW COMMAND: r!embed - Send fancy embedded messages! - It sounds boring on paper but check out r!help embed for all sorts of nifty things you can do - Added random role to r!rng - Added a few more happy little ping messages - Removed the compacthelp flag since it's the default now - Fixed bug where the super-awesome DM reading AI wouldn't detect special responses - You can now do r!unwarn instead of r!pardon v16.2 (2/25/19) - added r!pardon to remove strikes from r!warn - r!pardon [user] [strikes to remove] [reason] - you can also pardon by granting a negative number of strikes with r!warn - banning a user with r!warn/ban now removes the bot reactions after clicking the hammer - tweaked the r!warnconfig permission message (you require manage guild -> you require manage server) - fixed a r!ban crash caused by the banned user leaving the server before they click the hammer v16.1 (2/24/19) - r!warn can now do verbals (don't grant any strikes) - r!warn @user 0 reason - added a 500 character limit to r!undertale v16.0 (2/23/19) PUBLIC. FREAKIN. WARN. With the release of v16.0, r!warn has been released to ALL SERVERS! Get started with r!warnconfig Or, follow the instruction manual I wrote: http://bit.ly/2Xl41C3 (also bugfixes) v15.5 (2/20/19) - commands shouldn't have anymore trouble with the weird apostrophe characters on some devices ( ’ ‛ ‘ ) - you can no longer set @everyone as the ignore role - made some tweaks to how r!ignore finds roles (especially with the @ character) - more r!warn changes to make it better for public release - r!strike alias - rewrote a lot of code so you can name the warns (e.g. bad boi, super bad boi) - rewrote even more code so r!ban doesn't grant all warning roles also, the bot is now in 500 servers! GG! more updates at twitter.com/RoboTopBot v15.2 (2/19/19) - r!warn no longer checks for staff roles - if you have the manage roles permission you can use the command - if you have manage roles but not ban users, you will not be able to ban of course, this command still only works in a select few servers. releasing to public soon™ v15.1 (2/12/19) - all **~~markdown~~** is now ignored in dms when triggering special responses - added unique responses if you dm an image v15.0 (2/12/19) - r!ban should work in all servers now v14.6 (2/11/19) - added some responses if the bot is missing permissions to do something - minor, unnoticeable changes - fine i'll list them since i dont like leaving people in the dark - changed how the bot handles grammar mistakes - changed how the version number works - fixed some bugs with a dev command - fixed some commands not understanding the ’ character (apple uses a weird apostrophe) v14.5 (2/8/19) - added r!channeltoggle, pretty self explanatory - requires manage channels, obviously - fixed crashes caused by my attempt to fix crashes - added some more stuff for dms - changed a few responses to mod commands to no longer ping you v14.1 (2/7/19) - several bug/error/crash fixes v14.0 (2/7/19) yep, two major updates in a day - what's that sound? it's the FBI! - new command: r!fbi -- it generates a "why is the fbi here" meme. - coded entirely by me without stealing from websites ;) - dm convos now consider " ass " and " hell " swear words instead of "ass" and "hell".- - more dm responses v13.0 (2/6/19) - RoboTop has achieved sentience and reads all DMs! v12.2 (2/6/19) - you can now do r!compacthelp or r!chelp to open the compact help list - r!warn no longer works in any server (oops) - more secret grammar corrections <3 v12.1 (2/4/19) - added a new flag, compactHelp (r!flag compactHelp) - it's a cleaner, smaller version of the help list. looks nicer but no descriptions of commands - may become the default in the future, so feedback is appreciated v12.0 (2/2/19) - fixed some bugs with r!warn, coming soon to public i swear - fixed a crash when re-adding the bot to your server - added 'blast' to r!sound - more grammar corrections, better watch for the red squiggle >;) - r!rate and ass jokes now ignore the * character, for obvious reasons - the don't ping message no longer pops up when pinging yourself or robotop v11.8 (1/27/19) - minor bug/grammar fixes around the bot - ping and help can be toggled off now v11.7 (1/19/19) - the r!undertale website added ANIMATED BOXES, so you can do that now. Add an ! after the character name - r!u sans! look papyrus, i'm animated - also compatible with deltarune boxes -- r!u sans?! text - changed the way r!undertale grabs images, hopefully this fixes the bug where the box doesn't send correctly v11.6 (1/18/19) - dropped r!purge limit from 500 -> 100 because apparently discord js can only do that much in one swing - fixed some bugs and typos across the bot - r!rate and r!dunsparce now have a 100 character limit to avoid spam v11.5 (1/15/19) - made the messages when leaving commands blank a little more consistent - r!listpenguins is now nice and embedded - lists such as r!blocks or r!chars will be DM'd to you if the bot can't embed. it should have before but didn't - setting your prefix to *, **, __, or ~~ no longer breaks the formatting of messages :P - r!h is now an alias of r!help, and r!msg is now an alias of r!message - 4 more spelling corrections, if you didn't hate me enough already also, i have no idea why but robotop has been added to over 150 servers in the past TWO DAYS. incredible. v11.2 (1/14/19) - small tweaks to r!help, r!message and r!ping - extremely minor bugfixes - several changes to r!warn. still in beta, so only a couple servers have it. bear with me ;) v11.1 (1/13/19) - you can now use @robotop as the prefix. this worked before but was super buggy - useful if you forget the prefix i guess - r!help now shows the server count at the bottom v11.0 (1/12/19) - added another mod command, r!ignore. it lets you define a role that robotop ignores - added a flag that enables/disables image embedding with r!message (embedMessageLinks) v10.1 (1/12/19) - deleted r!delet, it's a really stupid command - changed the r!warn code to easily work with other servers using a three strike system - i'm only adding this to well known servers, so don't bother contacting me unless you're f a m o u s v10.0 (1/8/19) the database update! heck yeah! i expect bugs, so there will probably be a truckload of updates over the next few days. - four new mod commands, viewed with r!settings or r!modhelp - r!prefix changes the server prefix - r!toggle enables/disables commands or that dumb grammar thing - r!flag enables/disables little small settings - r!purge deletes messages. because those are fun. - r!message is back! what a wonderful day! - send a message, and the bot responds with what the previous person wrote. - etika, yaa and crabrave added to r!sfx - added a short serverwide cooldown for r!sfx to avoid crashes - who would have known that spamming the command would crash the bot - r!rate now changes the emojis of external emojis are off, but won't be able do half rates - r!help is now in alphabetical order - bugfixes and grammar changes report any bugs you find in the discord (https://discord.gg/ZyteNnU) thank you for all the support on robotop, you guys are the best <3 v9.9 (12/22/18) - started preparing the bot for databases! guess the version number it'll be... - commands will no longer work in dms, so big rip - "peck" reaction removed, it's dead lol - more grammar fixes! - couple more ping messages - added maui and cranberry to r!sound - added a powerful warn command for the juniverse staff. JUSTICE! v9.4 (12/17/18) - fixed r!undertale using gradients regardless of if in deltarune mode or not - r!help now dm's you the command if the bot can't embed messages v9.3 (12/15/18) - fixed r!rate only going up to 3 - fixed some bugs with flipping r!undertale textboxes - fixed ralsei.derp not appearing in r!list - added windows to r!sound v9.2 (12/14/18) - r!sound responds with instructions of you don't write anything after it - a bunch more r!undertale expressions added - toriel.glasses, toriel.what, alphys.nervous, mettaton.new, mettaton.ohno, asgore.tired, asgore.sad, asriel.annoyed, papyrus.sweat, sans.yellow, undyne.sassy, and susie.smile v9.1 (12/14/18) - damage and gnome added to r!sound - r!sound bugfixes - r!undertale deltarune characters now use the site's deltarune mode (drop shadow + gradient on colored text) v9.0 (12/13/18) - new command: r!sound - plays a sound effect of your choice in the current vc - noelle and rouxls kaard added to r!undertale - fixed some commands breaking in dms - fixed bug where using r!help on list commands like blocks, chars, penguins, etc breaks stuff - tweaked some grammar and fixed missing punctuation v8.2 (12/11/18) - asterisk at the start of r!undertale textboxes now takes the color of the first word v8.1 (12/10/18) - fixed typo in r!random - server emotes no longer show up in r!random if there aren't any - previously returned "undefined" - r!undertale now uses deltarune textboxes for deltarune characters - you can flip the textbox used by typing a ? after the character name - e.g. r!u sans? would use a deltarune textbox - a few more ping messages added - a few more command aliases added (r!ng, r!deltarune, and a few more) v8.0 (12/9/18) - new command: r!random - just... use it. you'll figure it out. v7.2 (12/9/18) - tweaked help, blocklist and achlist slightly - added ability to pick a random icon for r!achievement - r!ach Random icon! | random | Wow! v7.1 (12/8/18) - fixed r!poll[a-g] not reacting as a result of the second 7.0 change - added r!items as an alias for the achievement block list v7.0 (12/8/18) - custom achievement headers! - r!ach [text] | [block] | [header] - e.g. r!ach Did something! | diamond | Good job! - fixed commands activating if the message STARTS with one (e.g. r!pingdjfsdfksdf) - added command info to r!help (e.g. r!help dunsparce) v6.6 (12/2/18) yep, anOTHER update today. i'm bored - you can now pick the block used in r!ach. leave blank for random. - r!ach [text] | [block] - blocks are listed in r!blocks v6.5 (12/2/18) third update today, damn - r!undertale now posts the image 100% of the time! (thanks chratis!) - fixed some bugs with text coloring v6.2 (12/2/18) - you can now color text with r!undertale! - **bold** for yellow - __underline__ for red - ~~strikethrough~~ for blue v6.1 (12/2/18) - some more r!undertale expressions added - toriel.happy, asriel.brave, lancer.stretch, ralsei.derp, ralsei.hood, ralsei.true (spoilers!) v6.0 (12/1/18) - cleaned up code and commands over the past week - couldn't have been possible without @APixel_Visuals (twitter) - go check out his bot, Geola (http://geolabot.com/) - lancer added to r!undertale - r!poll now works with numbers - r!m temporarily disabled while I fix it up v5.7 (11/23/18) - r!message now cancels if user attempts to ping members, roles, everyone, or here v5.6 (11/22/18) - r!garfield now displays the strip's date - fixed bug where r!message does not appear in the juniverse help menu v5.5 (11/21/18) - 10 more images for r!neck, bringing the grand total up to 100! - 5 new r!delet images (total of 30 now) - Tweaked the last bit of r!help ever so slightly v5.0 (11/21/18) - r!conch can now be used in place of r!8ball - ask the magic conch shell instead of the 8 ball - a few more 8 ball responses added - r!message no longer works in the robotop server, sorry folks v4.5 (11/19/18) - added r!server and tweaked r!help to plug the new RoboTop server - https://discord.gg/eTtu4PH - incorrect usage of r!undertale tells you to use r!chars instead of r!charlist v4.0 (11/14/18) - r!rate finished! rates 0 to 5, including half - u!mettaton.ex added v3.9 (11/14/18) - started work on r!rate - it's still a wip, so expect changes v3.3 (11/13/18) - ralsei added to r!undertale (more characters as demirramon releases them) - r!penguin camera added v3.2 (11/12/18) - undyne and susie added to r!undertale - mentions no longer break r!undertale v3.1 (11/10/18) - xkcd 37 (ass) detection no longer detects words not separated by a space or hyphen (e.g. bigass) v3.0 (11/9/18) - new command, r!undertale (or r!u or r!under) - it generates a custom undertale texbox via demirramon.com. - proper formatting is r!undertale [character] [message] - for a list of characters and expressions, use r!charlist **the command is currently broken due to an unknown discord bug -- the links it generates will not display a preview. i was originally going to ditch the command but i decided to keep it in because more is better than less ;) v2.5 (11/8/18) - bot was offline all day due to a bug in xkcd 37 detection. it was supposed to check for an adjective before the a word, but didn't. anyways, it should work fine now. v2.0 (11/8/18) - bot now detects instances of xkcd 37 (https://xkcd.com/37/) (this took hours of coding, i need rest lol) v1.2 (11/7/18) - r!help now correctly shows r!message in the juniverse v1.1 (11/7/18) - r!help is now embedded and looks all fancy - r!ach now correctly works with hashtags and ampersands v1.0 (11/6/18) (Since this is the first update with a changelog, let's consider it 1.0) - new command: r!changelog. you won't believe what it does. - you can now ping members with r!dunsparce, however it is still discouraged. the bot will call the user by their current nickname. - you can now trigger commands with R! (capital r) - r!message no longer appears in the r!help list, unless in the juniverse server ============================= ==== ALPHA/BETA VERSIONS ==== alpha and beta versions were made before the changelog was released. i've added them to the changelog since it's neat to know the history of the bot! (these versions were added to changelog on 9/6/19) ============================= beta 3.2 (11/3/18) - r!message now supports taggable channel names and custom emojis - fixed r!message and r!ach not being able to recognize the number 1 for some reason beta 3.1 (10/28/18) - upped letter poll limit to g - letter polls now use cool colored emojis instead of the default blue ones - not only does it look cool, it also protects against trolls adding more letters beta 3.0 (10/14/18) - added r!delet: posts a random 'delet this' image (about 30 total) beta 2.0 (10/8/18) - you can now do r!poll[a-f] to react with a, b, c, d, etc up until the chosen letter - r!poll thumbs always react in the correct order (thumbs down never appears first) beta 1.2 (10/3/18) - messages with a misspelled word are reacted to with ⚠ - added some more special penguins beta 1.1 (9/28/18) - peck simply reacts with an angry emoji now - misspellings are now corrected in dms, and also gives methods of remembering proper spelling - multiple misspellings are now corrected instead of just one - peck/misspellings no longer cancel commands beta 1.0 (9/27/18) - added r!invite and made the bot public! - added r!m as an alias for r!message - more misspellings are corrected in the chat, such as alot - added 40 more necks and 5 more ping messages - made r!message exclusive to the juniverse server to avoid messages carrying between servers ========================= alpha 7.0 (9/23/18) - saying 'peck' now responds with LANGUAGE in the chat alpha 6.0 (8/21/18) - added r!neck: posts one of 50 necks downloaded from r/upvoteexeggutor alpha 5.0 (8/15/18) - added r!8ball: guess what it does alpha 4.0 (7/20/18) - added r!poll: reacts with a thumbs up and thumbs down emoji alpha 3.0 (7/5/18) - added r!achievement: generates a minecraft achievement from minecraftskinstealer.com - added a few more special sign-holding r!penguins (ok, nou, banned, delet, why, help) alpha 2.1 (7/4/18) - saying a common misspelling of 'definitely' now responds with "*definitely" in the chat alpha 2.0 (7/2/18) - added r!maui: posts a random maui quote from moana - added r!message: says what the previous person wrote - r!ping now gives a random response and shows the bot's... ping (in ms) alpha 1.0 (7/1/18) - robotop now exists! - not a public bot, only available in the juniverse (me and juniper's discord server) - 4 commands: - r!ping: responds with "I'm here! Beep boop..." - r!garfield: posts a random garfield comic from 1978 - r!dunsparce: battle for the largest dunsparce - r!penguin: posts one of 525 random stock penguins, also special penguins which can be seen with r!listpenguins