Commit Graph

2896 Commits

Author SHA1 Message Date
Mia
ddd8205aa0 Chat-monitor: Upload replays for BattleMonitor mutes 2021-07-21 13:28:15 -05:00
Mia
b175d8b000 Friends: Use /migrations/friends for versioning 2021-07-19 20:49:47 -05:00
Mia
c20cee8b1a Friends: Properly update spectator lists on battle end 2021-07-19 17:16:14 -05:00
Mia
48a71e82a8 Helptickets: Don't allow IP-Appeals from users who have a punishment matching their userid 2021-07-19 16:16:31 -05:00
Mia
f75f99f20a Helptickets: Remove ISP-Appeals 2021-07-19 16:16:31 -05:00
Mia
ed34cc49b1 Friends: Add a page to spectate the battles of friends 2021-07-19 02:57:08 -05:00
Mia
eb9fd0e8e9 Friends: Use getExact in displaying singular pending requests 2021-07-17 18:33:36 -05:00
Mia
1cfead5d99 Friends: Fix single notifications 2021-07-16 23:53:26 -05:00
Mia
6949344351 Friends: Fix button 2021-07-16 22:50:09 -05:00
Mia
48ef5e3758 Friends: Fix crash in hideLogins 2021-07-16 22:49:02 -05:00
Mia
20c795f8f4
Friends: Move caching to User#friends (#8404) 2021-07-16 20:33:07 -07:00
Mia
194a939cd6 Friends: Use /raw
ugh.
2021-07-16 22:23:37 -05:00
Mia
34f9e33116 Friends: Match behavior with online friend requests when only one request is pending 2021-07-16 22:22:14 -05:00
Mia
3316bf3ffb Friends: Fix 'no request pending' error 2021-07-16 21:01:39 -05:00
HoeenHero
06228119d0 Auth: Don't accidentally reduce a Section Leader's permissions 2021-07-16 17:56:47 -04:00
Annika
edf9d08a26 Fix blockpms after friends list addition 2021-07-16 17:50:10 -04:00
Mia
8e3b05b2bf Friends: Fix crash pt 2 2021-07-16 16:41:32 -05:00
Mia
7b52c4d1d0 Friends: Fix crash 2021-07-16 16:38:34 -05:00
Mia
3020298000 Friends: Fix accepting your own requests 2021-07-16 16:19:17 -05:00
Mia
1a2c3b2e72 Friends: Properly allow viewing lists while requests are blocked 2021-07-16 15:56:05 -05:00
Mia
9323fd2416 Friends: Use Users#getExact more 2021-07-16 15:53:24 -05:00
Mia
2c73519641 Friends: Revert to sending PMs from & 2021-07-16 15:41:27 -05:00
Mia
c9c5e7fbb3 Friends: Display sent list for users blocking requests 2021-07-16 15:31:37 -05:00
Mia
241804aa6b Friends: Send friend request messages from the friend instead of & 2021-07-16 15:26:40 -05:00
Mia
084af11c06 Friends: Properly handle blockpms 2021-07-16 15:16:10 -05:00
Mia
e5fbd64427
Support adding friends (#7333) 2021-07-16 12:56:34 -07:00
Kris Johnson
40e36c8f38
Make adjustments to Section Leaders (#8387) 2021-07-16 12:51:29 -07:00
PartMan
ddec31a24f
Add /notifyuser (#8394) 2021-07-16 12:50:45 -07:00
PartMan
29421ee145
Scavengers: Notify users on hint addition (#8400) 2021-07-16 12:50:34 -07:00
Mia
cee7d8290c Youtube: Update TwitchStream display HTML
Requested by Felucia.
2021-07-15 23:43:12 -05:00
Mia
c57691e2a6 Fix build pt. 2 2021-07-15 17:59:11 -05:00
Mia
422ca25506 Fix build 2021-07-15 16:44:04 -05:00
Mia
cb72f8e42d Usergroups: Block autoconfirmed & locked users from bypassing /blockpms ac 2021-07-15 15:19:03 -05:00
Mia
bb19c45448 Helptickets: Add extra state tracking, update messages 2021-07-15 15:16:40 -05:00
Annika
5b5c1a1646 Fix room privacy checks
Room.settings.isPrivate can be a boolean, undefined, or a string.
2021-07-15 13:13:55 -07:00
Karthik
8b911cbf12
Remove LC Uber as a valid tier in /ds help text (#8399) 2021-07-15 08:15:03 -07:00
Karthik
12abcd02c9
Fix bugs with Sucrase build process (#8393) 2021-07-14 09:50:01 -07:00
Annika
52a9378361 Trivia: Support combining multiple categories 2021-07-13 16:01:03 -07:00
Annika
6cc4ebe5d7 Trivia: Fix crash when no questions have been added 2021-07-13 15:43:38 -07:00
Mia
84bc3972a6 Helptickets: Add help for /ht removenote
Didn't get staged in my previous commit, unfortunately.
2021-07-11 22:20:58 -05:00
Mia
cdb910be4c Helptickets: Support adding hover notes to tickets 2021-07-11 18:58:45 -05:00
Annika
c5f881b76f More fixes for ts-node 2021-07-10 16:33:04 -04:00
PartMan
dfb246d40f
Datasearch: Minor refactor (#8390)
This fixes/changes a couple things:

a) Long dexsearch queries now reject with an error instead of blindly trimming and giving stuff like ``retur could not be found in any of the search categories``.
b) Maxgen now works properly (before this, the maxgen parameter only worked if it was either the first term or if there were no spaces after the preceding comma).
c) Mod now allows spaces around the equals sign (`mod = SSB`) instead of matching properly and failing on the split.
d) Gen0 no longer works in abilitysearch / itemsearch (not that relevant, but since current behaviour is to block Gen 1/2, seems a bit weird to allow 0).
e) Gen X and Maxgen X now work in abilitysearch / itemsearch (before this, they'd give a blank 'no results found').
f) Gen X and Maxgen X now support multi-digit generations (well in advance before Gen 10 releases, but doesn't hurt to be ready).
2021-07-10 04:19:03 -07:00
Mia
ba2a109311
Support viewing stats on the activity of rooms (#8345) 2021-07-09 20:01:15 -07:00
Annika
6ed55b6d1f
IPTools: Add sanity checks (#8331) 2021-07-09 19:59:45 -07:00
Annika
c134195915
Use ts-node instead of Sucrase (#8369) 2021-07-09 19:59:22 -07:00
Mia
c27cc7ae64 Helptickets: Properly link logs for text tickets in /ht list 2021-07-09 17:14:45 -05:00
Mia
aeac844ed1 Helptickets: Refresh text tickets on claim 2021-07-09 17:00:10 -05:00
TheSupervillain
1ef25735b9
Avatars: Change Duel Disk to Wonder Launcher (#8380) 2021-07-07 21:58:24 -07:00
Kris Johnson
598ac409e8 Rename Let's Go! mod to 'gen7letsgo' 2021-07-06 23:07:51 -06:00
Karthik
73eed0d40b
Show "Bypasses Protect" flag in /dt for ally-targeting moves (#8384) 2021-07-06 11:59:55 -07:00
FeluciaPS
ad406e37c6
Add htmlfaq to multi-line commands (#8379) 2021-07-04 15:57:47 -07:00
Guangcong Luo
a3eec79627 Update documentation for /avatarhelp 2021-07-04 17:05:01 -05:00
Annika
3403cc0d93 /whois: Fix formatting for punished previous names 2021-07-02 19:49:43 -07:00
Mia
5b4e2fe172 Spotlights: Check /setdaily permissions for viewing source instead of /daily
https://www.smogon.com/forums/threads/let-drivers-see-sourcecode-for-dailies-when-doing-daily.3687106/#post-8905412
2021-07-02 20:26:10 -05:00
Kris Johnson
876c86d236 Change type declaration formatting for Maps/Sets 2021-06-29 22:47:28 -06:00
Kris Johnson
61b72b687c Wifi: Modernize code of Giveaway#getSprite 2021-06-29 22:45:53 -06:00
Annika
56754afb42 Punishments: Remove getPunishType functions
These are poorly designed as they only return one punishments, but users can now have several.
2021-06-29 17:55:45 -07:00
Mia
7fe886302c /botmsg: Fix filter check 2021-06-29 00:45:29 -05:00
Mia
5430bf4365 Fix build
Unsure why ESLint did not throw this for me.
2021-06-28 21:50:56 -05:00
Mia
d829ceeff4 Chat: Validate command recursion 2021-06-28 21:28:30 -05:00
Kris Johnson
62eaf3f5fa Room FAQs: Update help 2021-06-28 17:08:16 -06:00
Distrib
e9a5bc9332
/blockchallenges: Support allowing challenges from certain groups (#8362) 2021-06-26 17:28:03 -07:00
Mia
44ef659eb5 Helptickets: Better handle RG errors
Seriously, fuck ripgrepe error reporting.
2021-06-24 20:46:08 -05:00
Mia
d1b397bc7c Helptickets: Fix crash 2021-06-24 20:39:11 -05:00
Mia
1176e393f0
Helptickets: Log text tickets (#8352) 2021-06-24 14:39:42 -07:00
Mia
59c404c8c4
Chat-monitor: Wrap autolocked messages in code formatting 2021-06-24 14:00:44 -05:00
Mia
3eeccb002e Punishments: Make /unlock lift /yearlockname 2021-06-23 21:52:19 -05:00
Mia
817986de92 Moderation: Restrict seeing punishments for non-staff trusted users 2021-06-23 16:25:42 -05:00
Mia
558c4e3a4a Moderation: Only allow non-staff trusted users to see locks and bans on /offlinewhois
Approved by Aeo.
2021-06-23 16:05:51 -05:00
Mia
7cad87035f Roomfaqs: Actually fix crash 2021-06-22 23:20:57 -05:00
Mia
342ce89a38 Roomfaqs: Fix crash 2021-06-22 23:19:57 -05:00
Mia
cb0bb92ad3 Helptickets: Determine opponents from replays for battle harassment tickets 2021-06-22 23:13:25 -05:00
Mia
e02b358da5
Room FAQs: Support HTML (#8343) 2021-06-22 18:26:31 -07:00
PartMan
0d7159b12c
/botmsg: Permit ROs too (#8370)
(Bots become ROs of subroom groupchats if they create them.)
2021-06-22 15:52:54 -07:00
Mia
fe338a84f5
Support locking usernames for a year (#8371) 2021-06-22 15:10:16 -07:00
Karthik
5db9d39756
Support default format for randbats commands (#8367) 2021-06-22 12:06:02 -07:00
Mia
eedf54a01b Helptickets: Hide punishment options on ticket close 2021-06-21 23:03:56 -05:00
Mia
45a2f8e125 Helptickets: Add autocompletes to the 'respond to reporter' tab 2021-06-17 11:39:26 -05:00
Mia
b0e839e1e8 Moderation: Only log /rangeban to Staff 2021-06-15 18:16:06 -05:00
Guangcong Luo
5c5b82931d Don't break invites when renaming rooms
Fixes #8361
2021-06-15 12:46:15 -07:00
Mia
ce7bb61dd4 Helptickets: Update some grammar and behavior 2021-06-14 12:20:51 -05:00
Mia
197fe7b6b8 Spotlights: Add a refresh button to the dailies page
https://www.smogon.com/forums/threads/add-a-refresh-button-to-the-daily-spotlights-page.3686101/#post-8886206
2021-06-13 13:10:52 -05:00
Mia
e6ebcebc82 Helptickets: Update IP-Appeals to text and add new Appeal responses 2021-06-13 12:14:14 -05:00
Mia
d03ba1c25e Punishments: Better handle custom punishments 2021-06-11 02:05:44 -05:00
Annika
264831e36a /randombattles: Display sets for the battle format 2021-06-08 18:17:16 -07:00
Annika
c3d4f80b6e Punishments: Remove unnecessary check 2021-06-08 14:14:58 -07:00
Annika
9d87d9bac2 Fix Punishments#ipSearch 2021-06-08 14:08:36 -07:00
PartMan
46a858f2be
Movesearch: Add defrost and reflectable aliases (#8359)
Added Magic Coat/Magic Bounce since those are intuitive terms to use while searching
2021-06-08 11:45:16 -04:00
Mia
6f6b564f7f Hangman: Don't allow filtered words in guesses 2021-06-07 22:07:09 -05:00
Mia
6dac7566d8 Punishments: Check interactions on room punishments 2021-06-07 12:32:18 -05:00
Distrib
fad49102e0
Helptickets: Change password reset link (#8358) 2021-06-06 18:40:18 -07:00
Annika
b3b18465a4 Jeopardy improvements
- announce ability to buzz in via chat rather than via a colored square in HTML
- improve validation of integer arguments
- improve grammar
2021-06-03 17:01:13 -07:00
Mia
bdd08acecb Info: Fix /regdate display for registration time 2021-06-03 13:46:14 -05:00
Mia
b32a397f72 Helptickets: Update punishment UI 2021-06-03 13:40:32 -05:00
Mia
f07855a2d0 Rooms: Fix automodchat 2021-06-03 13:40:31 -05:00
Annika
b712278fd0
Use global punishments instead of fake rooms (#8350) 2021-06-02 21:54:33 -07:00
Annika
613bf3243f Jeopardy: More fixes 2021-06-02 14:42:56 -07:00
Mia
81af92da52 Helptickets: Make the 'punish reporter' button more distinct 2021-06-02 16:37:20 -05:00
Annika
343db5a762 Jeopardy: Fix crash 2021-06-02 13:49:44 -07:00
Mia
01a7132e0e Fix alt display in /whois 2021-06-02 14:19:16 -05:00
Mia
59377f5a47
Info: Fix /show and /requestshow interaction error (#7904) 2021-06-02 11:03:00 -07:00
Mia
e987a01427 Rooms: Partially fix bug in automodchat
This should provide a temporary bandaid in that it won't spam rooms, and it will inform us of what the setting is so that we can proceed.
2021-06-01 19:18:52 -05:00
Mia
da8d9f0096 Chat: Don't block login if a plugin crashes during startup 2021-06-01 19:18:51 -05:00
Annika
c71e090153 Username prefixes: Fix bug in loading 2021-06-01 11:49:50 -07:00
Mia
94b5e5e898 Fix trusting users 2021-06-01 10:17:10 -05:00
Mia
ec7dfa203f Prefix-Manager: Fix crash 2021-06-01 09:59:57 -05:00
Mia
eaacf70494 Punishments: Attempt to reduce RAM use
This is one of several possible causes I identified. Worst case, we can restore this later, but it isn't critical at any rate.
2021-06-01 08:53:24 -05:00
Mia
8fa02b73a4 Users: Automatically trust users in Staff room 2021-06-01 08:33:51 -05:00
Mia
607c645316 Punishments: Fix saving of several punishments 2021-06-01 08:28:36 -05:00
Guangcong Luo
a338dad78a Fix challenge notifications
This is a temporary fix; the real fix is a decent margin more
complicated, unfortunately...
2021-05-31 20:05:47 -04:00
Guangcong Luo
7ac0e34183 Prevent getReadmoreBlock from getting too big
Fixes #8346
2021-05-31 20:05:47 -04:00
Annika
5eb01c8abb Further improvements to the Jeopardy plugin 2021-05-31 15:00:51 -07:00
Mia
c237e18672 Fix previous names display in /whois 2021-05-31 14:25:26 -05:00
Mia
3d1c5b24f2 Fix room close page handling 2021-05-31 14:14:53 -05:00
Mia
6562a14385 Fix punishment reason displays in /whois 2021-05-31 13:16:31 -05:00
Mia
09e298f15b
Punishments: Support giving multiple punishments to one user (#8265) 2021-05-31 11:06:01 -07:00
Mia
dc6a7ea2e3 Chat: Properly load handler hooks 2021-05-31 11:27:04 -05:00
Mia
62a8471d80 Chat: Properly handle roomClose hooks 2021-05-31 11:27:04 -05:00
Annika
836a7a2a10 Improvements to the Jeopardy plugin
Requested by Trivia staff and approved by me
2021-05-30 20:55:22 -07:00
Mia
5f4671bb79 Fix build 2021-05-30 22:48:52 -05:00
Mia
e0ca414a89 Helptickets: Fix proof in PM Harassment tickets 2021-05-30 22:19:02 -05:00
fart
839075a166
Allow alternative parameters for dexsearches (#7847) 2021-05-30 16:13:39 -07:00
Annika
f0d142e621 Chat monitor: Fix bug in loading from JSON 2021-05-30 15:55:54 -07:00
Annika
652bbb1064
Jeopardy: Refactor to use Chat.ErrorMessage (#8342) 2021-05-30 02:35:39 -07:00
Mia
9000eebbef Chatlog: Fix date validation 2021-05-30 01:43:17 -05:00
Mia
69990a6ddc Chat-monitor: Fix crash 2021-05-30 01:40:14 -05:00
Mia
5f9072b2ba
Chat-monitor: Centralize functions and migrate to JSON (#8328) 2021-05-29 22:11:32 -07:00
Mia
487fc5e3fa Fix comment 2021-05-29 21:02:16 -05:00
Mia
8ba56d3d03 Chatlog: Fix crash in date validation 2021-05-29 20:56:07 -05:00
Mia
d9109e64bc Hangman: Allow creators to play in random hangman games 2021-05-29 20:11:48 -05:00
Annika
4e5939ecd6 Jeopardy: Improve message displayed on timeout 2021-05-29 17:55:36 -07:00
Annika
602c6af0af GlobalAuth: Handle multiple usergroups.csv entries
I don't know why users get two sometimes (I think it's an old bug that got fixed?) but this handles it better.
2021-05-29 16:02:55 -07:00
Annika
8714bf36ce /randbats: Use a <details> dropdown 2021-05-29 13:23:31 -07:00
Mia
fb1b5582cc Helptickets: remove extra replay link HTML 2021-05-29 11:14:36 -05:00
Mia
7ae21cebf8
Chat: Support exporting custom handlers from plugins (#8319) 2021-05-28 23:13:01 -07:00
Mia
bf648598ec
Add modlog stats page (#8339) 2021-05-28 12:12:50 -07:00
Mia
a9c200baf1 Helptickets: Properly handle ticketbans in text tickets 2021-05-28 09:45:42 -05:00
Mia
3c6c560e36 Helptickets: Attempt to determine a reported user in battle harassment tickets 2021-05-28 09:30:44 -05:00
Mia
c29a9a1eb1 Moderation: Explicitly note if punishments are done with no user object 2021-05-27 21:29:59 -05:00
Annika
fd9b922e86 /sectionleader: Get user object exactly 2021-05-27 11:21:35 -07:00
Mia
248ce8b3b3 Helptickets: Display punishment list for reporters and add more punishments 2021-05-27 08:25:13 -05:00
Annika
83df279b1d
Add a chat plugin to manage username prefixes (#8338) 2021-05-26 14:39:13 -07:00
Guangcong Luo
74211859c9 Update to TypeScript 4.3
Changes relevant to our codebase:

- TypeScript now knows that `typeof id === 'string'`! A bunch of casts
  on `User | ID` or `Room | RoomID` are no longer necessary!!!

- `override` will protect against certain typoes, and we'll adopt it
  (and `--noImplicitOverride`) as soon as sucrase comes in

- `declare` is now required for properties we want to narrow the type
  of without directly overwriting - a good thing to use going forward,
	but very annoying to fix all our old code for
2021-05-26 14:16:54 -07:00
Distrib
0596c9ba6e
Datasearch: Increase in the number of pokemon generated in /randpoke (#8317) 2021-05-26 12:38:20 -07:00
Mia
2fe8cb44bb Helptickets: Support fetching replay logs 2021-05-26 13:23:57 -05:00
Annika
0bd31705ab Improve handling of legacy forced-public prefixes 2021-05-26 12:44:44 -04:00
Mia
817fe96134 Usersearch: Use tables in the page 2021-05-25 20:02:11 -05:00
Mia
5523cc5f96 Helptickets: Fix punishment proofs 2021-05-25 18:37:14 -05:00
Mia
66261e99d2
Admin: Support /eval in PMs (#8249) 2021-05-25 16:28:09 -07:00
Mia
9df9d10c98 Autoresponder: Fix again 2021-05-25 18:12:08 -05:00
Mia
1052e3c786 Autoresponder: Fix crash 2021-05-25 17:34:52 -05:00
Mia
21cc7b05ec
Autoresponder: Migrate logs to JSONL (#8335) 2021-05-25 15:21:41 -07:00
Mia
756db075be
Usersearch: Support setting a list of most-searched names (#8283) 2021-05-25 15:21:32 -07:00
Mia
d31ceb5693 Helptickets: Show Pokemon names in ticket for inap pokemon name tickets 2021-05-25 15:16:52 -05:00
Mia
a730b6a2bc Helptickets: Add shared battle HTML to pm harassment 2021-05-25 14:43:27 -05:00
Mia
f5ab015f0e Helptickets: Ensure battle replay links aren't duplicated 2021-05-25 13:58:45 -05:00
Mia
c4a667ae1d Hosts: Support aliases for suffix types 2021-05-24 19:58:21 -05:00
Quinton Lee
96895a6187
Tournaments: Add feedback to /tour runautodq (#8322) 2021-05-24 11:19:02 -07:00
PartMan
69e71297e8
/punishments: Use toID (#8332) 2021-05-24 11:18:32 -07:00
Mia
961e5b90d0 /clearlines: Trim reasons 2021-05-24 11:34:26 -05:00
Guangcong Luo
d555f6fe0d Fix max-len for long regexes
We use eslint-disable for max-len in a lot of places where we don't
actually need it. This fixes that.
2021-05-23 20:48:31 -07:00
Guangcong Luo
d8f492d209 Fix bugs in IP and IP range support
IPTools has gotten a bit buggy since the last time I looked at it. This
fixes `IPTools.ipRegex` to actually validate IPs, and adds a new
`IPTools.isValidRange` validation function.

`/ipsearch` now also supports all three IP range formats, thanks to
being refactored to use `IPTools.checker`.

Fixes #8330
2021-05-23 20:48:31 -07:00
Guangcong Luo
49cacba6cf Support !rebroadcast to bypass broadcast cooldown
The old system where only admins can bypass the broadcast cooldown
is weird, because it's wrong in both directions: Admins could
unintentionally re-broadcast, but other users couldn't intentionally
re-broadcast.

Now no one can unintentionally re-broadcast and everyone can
intentionally re-broadcast.
2021-05-23 19:41:07 -07:00
Guangcong Luo
4a716f1456 Use aliases for !formathelp broadcast cooldown
(This makes it so if someone uses `!om sketch` it will prevent use
of `!om sketchmons` for a while.)

Suggestion thread: https://www.smogon.com/forums/threads/make-the-broadcast-cooldown-for-commands-apply-to-aliases-of-that-command.3684569/
2021-05-23 18:23:52 -07:00
Annika
44dd12686d Mastermind: Maintain scores for users who leave 2021-05-23 16:11:54 -07:00
Mia
1721152389 Helptickets: Remove inner dropdowns on battle logs 2021-05-23 11:53:26 -05:00
Marty-D
abec21011f
Add more missing Trainer avatars 2021-05-22 13:47:23 -04:00
Mia
68c0be6594 Netfilters: Remove accidental commit
I was still debugging this and i'm unsure how this snuck in, seeing as it was on another branch...
2021-05-21 19:21:10 -05:00
Mia
fdbf6c693c Helptickets: Fix formatting in battle logs 2021-05-21 17:04:15 -05:00
Mia
081574bfdb Helptickets: Properly filter battle rooms 2021-05-21 12:41:53 -05:00
Mia
feab8f0049 Helptickets: Show all chat messages in reported battles 2021-05-21 12:35:08 -05:00
Mia
2cf47420ea Helptickets: Auto-upload common battle replays on submit for PM harassment tickets 2021-05-21 12:00:56 -05:00
Mia
310e4e8987 TOTD: Document /-otd removewinner 2021-05-20 22:11:36 -05:00
Annika
6628bb9d36 Mastermind: Support category aliases 2021-05-20 13:01:23 -07:00
Mia
538ca60d14 Roomevents: Check /roomevents add permissions for viewing source
Currently, it checks /roomevents view. But, /roomevents view does not have room permissions, as it is usable by anyone. As such, this makes it so anyone who can add a roomevent can view sources.
2021-05-20 09:36:11 -05:00
Annika
5b50c31507 /blockpms: Normalize capitalization 2021-05-19 18:07:26 -07:00
Annika
f71fb356f9 /randbats: Don't show sets for future gens 2021-05-19 10:39:18 -07:00
Mia
cbb5cf8ad5 Helptickets: Remove extraenous linebreak 2021-05-19 12:32:07 -05:00
Mia
88b4db05c3 Helptickets: Add global modlog button in PM harassment 2021-05-19 12:30:21 -05:00
Mia
f036283a60 Rooms: Actually ensure bots don't count for automodchat 2021-05-19 09:21:05 -05:00
Mia
ac976e7aa1 Rooms: Use user#can for checking staff permissions in automodchat
isStaff includes bots, which makes this useless if the room has a roombot.
2021-05-19 08:20:25 -05:00
Mia
4cd8031bb4 Helptickets: Link to client, not replays, in PM harassment tickets 2021-05-18 11:29:29 -05:00
Mia
b924534cb1 Helptickets: Fix shared battles display 2021-05-18 09:53:55 -05:00
Mia
9e459daee2 Helptickets: Support a disclaimer message on submit 2021-05-17 14:44:57 -05:00
Mia
8775d52953 Helptickets: Support HTML error messages for text tickets 2021-05-17 14:44:09 -05:00
Mia
d2c4eaf67e Helptickets: Make PMHarassment a text ticket type 2021-05-17 14:37:37 -05:00
Mia
52d1042c96 Helptickets: Support async checker functions
Likely necessary for future commits, either way cleaner to break them into separate commits (organization reasons)
2021-05-17 12:19:32 -05:00
Mia
77023b02b6
Stop defaulting messages to Lobby in protocol (#8304) 2021-05-17 07:17:48 -07:00
Guangcong Luo
c695620e58
Refactor to new challenge system (#8303)
See PR for full details:

https://github.com/smogon/pokemon-showdown/pull/8303
2021-05-17 07:15:01 -07:00
Mia
e5c568274c Helptickets: Prioritize text tickets in staff display 2021-05-17 08:53:29 -05:00
Guangcong Luo
58c85ee125 Fix crash with min source gen in /learn 2021-05-17 04:30:00 -07:00
Mia
38374f8bd9 Alias /chatlog to /chatlogs 2021-05-16 19:53:33 -05:00
Mia
d93de6c2fb Minor activities: Don't shift queue twice upon end 2021-05-16 18:11:01 -05:00
Mia
1ebf254697 Remove accidental debug print
Didn't see i didn't save.
2021-05-16 12:56:27 -05:00
Mia
959cb78aab Helptickets: Only state resolution time if it was more than 1 second ago 2021-05-16 11:28:21 -05:00
Annika
411858bbe9 /randombattles: Display sets for alternate formes 2021-05-15 13:33:50 -07:00
Mia
e351fd8222 Helptickets: Save replays on text ticket submit 2021-05-14 15:53:56 -05:00
Mia
d99a21ad41 Users: Close open pages on connection disconnect 2021-05-14 09:33:01 -05:00
pacmanboss256
4186ef5f4f
Refactor Mold Breaker effect (#8291) 2021-05-14 08:32:41 -04:00
Quinton Lee
3783f11ea0
Implement /sendprivatehtmlbox (#8285) 2021-05-14 02:47:33 -07:00
Guangcong Luo
997c3e2fe8 Further fix Rock Paper Scissors
- You no longer get kicked out if you try to join the game room manually

- Games no longer default to private

- Games now auto-pause if both players time out

- Paused games now have a Resume button

- Games no longer lose history if you leave/rejoin

- It is now possible to reject challenges

- Fix `game.destroy()` improperly getting overridden
2021-05-14 02:28:25 -04:00
Guangcong Luo
509d0abad4 Refactor out some Object.keys invocations
If you need values, you should be using `Object.values` or
`Object.entries` directly.
2021-05-13 23:02:04 -07:00
Mia
7e45048519 Helptickets: Make text tickets use userid modlog search 2021-05-13 16:42:58 -05:00
Mia
2a9f451434 Helptickets: Display user language in Staff room buttons 2021-05-13 15:40:35 -05:00
Mia
e83b030c09 Chat-monitor: Ensure users receive offline warns with no reason
In practice, it shouldn't happen much, but it never hurts to ensure proper behavior.
2021-05-13 15:31:25 -05:00
Mia
172408838a Helptickets: Improve formatting of proof URLs 2021-05-13 14:21:10 -05:00
Mia
b1163a84a2 Helptickets: Improve formatting of reported battle URLs 2021-05-13 14:14:03 -05:00
Mia
32272aaa39 Helptickets: Format claimed text tickets properly 2021-05-13 12:37:19 -05:00
Mia
30d582443a Helptickets: Send Inap Username ticket forcerenames to Staff 2021-05-13 11:53:37 -05:00
Mia
a591868fbd Helptickets: Support leaving a staff note in text tickets 2021-05-13 09:58:30 -05:00
Guangcong Luo
3038147315 Also remove unused getPlayers function in RPS 2021-05-13 06:58:16 -07:00
Guangcong Luo
1cc52d6607 Remove unused clearChoices function in RPS 2021-05-13 06:48:50 -07:00
Mia
b2963ff53b Helptickets: Style textareas 2021-05-13 08:41:23 -05:00
Guangcong Luo
4e213368dc Redesign Rock Paper Scissors
This new update will have it looking a lot nicer, and also fixes some
architectural issues with the old design.
2021-05-13 09:39:51 -04:00
Mia
12b319e713 Helptickets: Add claiming and add more punishment types to text tickets 2021-05-13 08:34:52 -05:00
Mia
8e624e744e Helptickets: Add a hover display for text tickets and reasons for battle harassment locks 2021-05-12 20:05:36 -05:00
Mia
b496298c29
Helptickets: Refactor to support text-only tickets (#8179) 2021-05-12 20:24:36 -04:00
Mia
7c1be296e6 Roomsettings: Don't allow locked users to set modchat
People are spamming with this. See comment for why it's not in the other access denied check.
2021-05-12 13:26:39 -05:00
Mia
1a7d1db909 RPS: Make /rps challenge work in PMs with no target again 2021-05-12 10:57:54 -05:00
Mia
acda9585f8 RPS: Respect /blockchallenges 2021-05-12 08:59:22 -05:00
Guangcong Luo
26392b5be8 PM-convert |uhtml| and |uhtmlchange|
`|uhtml|` and `|uhtmlchange|` are now converted to `/uhtml` and
`/uhtmlchange` in PMs, like `|html|`. This should simplify stuff
in PMs going forward.
2021-05-11 20:46:26 -07:00
Mia
42b6a59af8 Fix formatting
Oops.
2021-05-11 16:21:25 -05:00
Mia
23e2c28388 Polls: Respect Config.noipchecks 2021-05-11 16:20:32 -05:00
Mia
79b716bb06 Moderation: Show forcerenames to regular users in helptickets
Requested by Ransei.
2021-05-11 12:08:53 -05:00
Mia
0466718637 Increase status character limit to 52
Policy end, Ransei said this was fine. Tech end, looks fine - two lines on the usercard, even with caps it's pretty minimal.
2021-05-11 12:07:15 -05:00
PartMan
f2a10c8e0d
Scavengers: Ladder isn't monthly (#8295) 2021-05-10 21:41:22 -07:00
Mia
0b2f63b9f3 Info: Support twitch links in /show 2021-05-10 21:57:20 -05:00
Mia
2864b6dd87 Autoresponder: Remove minimum length 2021-05-10 20:00:51 -05:00
Annika
2fd6153e70
Hide lines from locked/banned users' alts (#8277) 2021-05-10 10:41:12 -07:00
Mia
518fccd921 Youtube: Allow Pokemon Go to use /twitch watch 2021-05-10 10:10:56 -05:00
Mia
ec1c8cc95d /botmsg: Bypass room throttles 2021-05-09 18:05:25 -05:00
PartMan
cab2ad0c08
Scavengers: Italicize host names on end (#8290)
The `<em>` being wrapped around each individual username and not the entire host string is intentional since it looks better  - and also allows parsing of hosts from the finishing message
2021-05-10 00:20:14 +02:00
HoeenHero
36fe51f71c Dont block future updates if Config.privatecodepath is not set. 2021-05-08 20:55:49 -04:00
Mia
a7c0f8054a Chatlog: Fix crash
This should ensure that all dates passed to roomstats are in the form year-month. The crashes came from only a year being passed
2021-05-08 11:29:18 -05:00
Mia
8be458463d Autoresponder: Update permission checks for raw regex
Global staff with dev mod should be able to do it.
2021-05-07 17:20:09 -05:00
Kris Johnson
5056f86c86 Add help for /roomspotlight 2021-05-07 12:51:48 -06:00
Mia
fd29cc4cf3 TOTD: Fix timestamp parsing 2021-05-07 12:40:01 -05:00
Mia
30c461bfdc TOTD: Fix timestamp display
Take 2. Hopefully.
2021-05-07 12:27:09 -05:00
Mia
f949f9ba66 Chat-monitor: Use new spoiler format instead of SPOILER:
Mentioned in Staff, slightly cleaner.
2021-05-06 13:21:54 -05:00
Annika
2837f9dc26 Handle undefined reason in monitorRoomPunishments 2021-05-06 10:17:36 -07:00
Guangcong Luo
11a6902154 Force rebuild when using /rebuild 2021-05-06 01:36:34 -07:00
Guangcong Luo
55980d416c
Support value rules (#8267)
`teamLength`, `maxLevel`, `cupLevelLimit`, and `minSourceGen` no longer
exist as properties of `Format`. Instead, they're value rules that
become properties of `RuleTable`, and can be specified as custom rules
and inherited through rulesets like anything else.

See the PR for a full reckoning of changes:

https://github.com/smogon/pokemon-showdown/pull/8267
2021-05-06 01:16:16 -07:00
Mia
64b3b554c2 Usersearch: Add namelock buttons
Requested by staff, approved by Ransei.
2021-05-05 16:24:01 -05:00
Mia
a5d3aaee35 Helptickets: Don't display language if set to English in /ht list 2021-05-05 14:27:09 -05:00
Mia
5fb8071274 Info: Fix /regtime time handling 2021-05-05 12:04:25 -05:00
Guangcong Luo
574bb28bbe
Implement Utils.Multiset (#8260)
If you grep the codebase for `|| 0) + 1` you get a lot of results,
all of which would be better implemented with a multiset.
2021-05-04 21:53:23 -07:00
Kris Johnson
70a06de929
PunishmentMonitor: Fix "(banned: )" in autolocks (#8256) 2021-05-04 21:50:04 -07:00
Annika
a150b4aa6c Fix help for /host 2021-05-05 00:18:23 -04:00
Mia
5f21bc1d9d Helptickets: Update language display in /ht list
Staff preferred this, from opinions given when it went live.
2021-05-04 20:54:58 -05:00
Annika
2df7307ca2 Helptickets: Display language in ticket list 2021-05-03 10:35:37 -07:00
Mia
abcf367181 Admin: Respawn Dexsearch processes in formats hotpatch 2021-05-03 11:41:49 -05:00
Mia
a20f2ebdf2 Helptickets: Add the alias /ht tb to /ht ban
Requested by a few staff
2021-05-03 10:45:46 -05:00
Annika
f6b21b90ce Trivia: Support games with fewer than 3 players
Requested by Trivia roomstaff
2021-05-02 21:36:22 -07:00
Annika
38f16f2097 Trivia: Add a button for signups 2021-05-02 21:34:50 -07:00
Quinton Lee
51e005e65d
Implement /closehtmlpage (#8253) 2021-05-02 13:42:46 -07:00
Annika
dd6fb52079 /lock: Fix reason parsing 2021-05-01 21:19:09 -07:00
Kris Johnson
5331e0e748
Refactor splitTarget to splitUser (#8246) 2021-05-01 00:42:25 -07:00
Guangcong Luo
e450e8082e Fix bug in requireUser refactor 2021-04-30 18:32:43 -07:00
Guangcong Luo
a480a84ce4 Chat API: Add requireUser
This simplifies a lot of `splitUser` uses that immediately go on
to make sure the user actually exists.
2021-04-30 17:14:35 -07:00
Guangcong Luo
0230a002fd Make bot attribution stricter
Admins should not be using `addhtml` commands for jokes. This makes
it so only gbots get access to unattributed `addhtml`.
2021-04-30 17:14:35 -07:00
Mia
1b0bcc9000 Usersearch: Remove extraneous linebreaks when there are no online matches 2021-04-29 09:56:20 -05:00
Mia
721e7bc8a2 Remove /makegroupchat from /commands
Regs can't use it now, so it doesn't need to be here
2021-04-29 09:48:11 -05:00
Guangcong Luo
d80319d114
Implement /botmsg (#8240) 2021-04-29 00:54:57 -07:00
Guangcong Luo
17ca6b271c Add a bit more documentation for plines 2021-04-28 01:53:03 -07:00
Guangcong Luo
09d2b9c514 Deprecate splitTarget with splitUser
(Note that the `splitUser` API isn't stable yet, and a future update
will determine if we want to call the final output `message` or
`rest`.)
2021-04-28 01:45:56 -07:00
Guangcong Luo
d9c564d15c Add hint for locked users challenging unlocked 2021-04-27 22:34:52 -07:00
Mia
24ac3cfc40 Fix crash in /effectiveness 2021-04-27 21:32:10 -05:00
Guangcong Luo
9abbe47531
Support setting a default format/mod for commands in rooms (#8237) 2021-04-27 15:38:51 -07:00
urkerab
d4662c4c04
Handle extraneous parentheses again (#8238) 2021-04-27 15:06:51 -07:00
Annika
4bbb809c7b
Mastermind: Fix sorting in getTopPlayers 2021-04-27 09:09:37 -07:00
Guangcong Luo
ddd96995a1 Fix crash report display
Fixes #8234
2021-04-26 22:30:02 -04:00
urkerab
74ed6a3651
/math: Give the negative operator a precedence (#8235) 2021-04-26 18:53:32 -07:00
Annika
8ee9a68067 RoomBattle: Properly handle legacy config format
#8214 added code to handle Config.forcedpublicprefixes and convert it to Config.forcedprefixes, but it was buggy.
2021-04-25 22:03:08 -07:00
Quinton Lee
6079927a95
Commands: Support sending |selectorhtml| to bot HTML pages (#8228) 2021-04-25 20:20:57 -07:00
Mia
ea6f6a81d9
Chat: Allow plugins to add custom /crq handlers (#8225) 2021-04-25 15:26:05 -07:00
Guangcong Luo
810aff74cd Namespace more server global types 2021-04-25 14:16:27 -07:00
Guangcong Luo
0e0389bdc8 Rename pageContext.send to pageContext.setHTML
It's currently not very similar to commandContext.send so using the
same name could make things very confusing.

We have a new `pageContext.send` function that actually behaves as
you'd expect.
2021-04-25 13:25:42 -07:00
Kris Johnson
46b9a36fa7 /hiderank: Don't let users hide as Section Leaders 2021-04-25 02:26:46 -06:00
Mia
5e455cdb6c
Fix missed punishment description conversions 2021-04-24 21:27:53 -05:00
Kris Johnson
0d5a99d9b0 FIx sorting in /sectionleaders 2021-04-24 01:05:58 -06:00
Guangcong Luo
7336b22540 Fix support for spotlight rooms 2021-04-24 02:46:45 -04:00
Guangcong Luo
e75636aebc Fix crash in custom punishments change 2021-04-24 02:46:07 -04:00
Guangcong Luo
486f292904
Refactor everything to use Utils.sortBy (#8220)
A few uses of `array.sort()` have been left alone:

- sorting in `data/` because they aren't supposed to import anything

- `set-importer` because I still have no clue what that's for and what
  dependencies it is/isn't allowed to have

- `sort()` with no arguments used as a lexical sort (at which point
  `sortBy` offers no benefits)

All other cases have been replaced with `Utils.sortBy`, which should
be a massive increase in readability.

Sort orders should be much more readable now, without needing to puzzle
through sign issues. The order is always low-to-high, A-to-Z,
true-to-false.
2021-04-23 22:41:00 -07:00
Mia
d992b8f5fa
Add more support for custom punishments (#8215) 2021-04-23 22:40:31 -07:00
Mia
7154920b2c
Support forcing modchat on ladder tour battles (#8214) 2021-04-23 22:40:09 -07:00
Kris Johnson
a1bdafbfe8
Add room sections (#8205) 2021-04-23 22:39:56 -07:00
Annika
909d4657f4 Trivia: Further clarify typing 2021-04-22 12:38:33 -07:00
Annika
df16828aaf Trivia: Fix typing for TriviaLadder 2021-04-22 12:10:13 -07:00
Mia
5586484622 Hosts: Fix crash 2021-04-22 11:41:16 -05:00
Mia
cec237ddff Remove extraneous 2021-04-22 08:35:36 -05:00
Mia
54e2c74630 Punishments: Fix markshared blacklist loading 2021-04-22 08:35:07 -05:00
Mia
a92c44cf52 Add missing global punishments to /pl 2021-04-22 08:15:50 -05:00
InAShellnut
9ab4c86fe3
Add Stadium 2, Nintendo Cup 1997, and Nintendo Cup 2000 (#8195)
An implementation of Nintendo Cup 1997, Nintendo Cup 2000, and Pokemon Stadium 2, for Pokemon Showdown. The only thing which has not been implemented was showing the exact health of both Pokemon in Pokemon Stadium 2, however implementing that requires changes to the showdown client. The Nintendo Cup 1997 code was done by Enigami, and the rest was by myself (Shellnuts).

This should fulfill the requirements asked by the following accepted suggestions:
https://www.smogon.com/forums/threads/please-add-a-pok%C3%A9mon-stadium-2-simulator-in-showdown.3679486/
https://www.smogon.com/forums/threads/add-nintendo-cup-1997-and-2000-as-challenge-only-formats.3653454/
2021-04-22 00:54:14 -07:00
Annika
0e21aebfab Trivia: Improve display for unranked games 2021-04-21 20:27:16 -07:00
Mia
9a1df4241d /permissions: Put single command permissions into a readmore
Requested change
2021-04-21 09:03:47 -05:00
Mia
e9b1bfe5f0 Chat-monitor: Fix /filter help
(CommandContext#run does not work for help commands that are arrays)
2021-04-21 08:30:19 -05:00
Mia
075c9e85c5 Usergroups: Properly include aliases in supportedRoomPermissions
This can be useful for things like /poll htmlcreate
2021-04-20 12:54:25 -05:00
Mia
34f26a2049 Chat: Fix alias duplication issue in AnnotatedChatHandler#aliases 2021-04-20 12:54:24 -05:00
Annika
5fde7faf07 Support translation of /privacypolicy 2021-04-19 11:31:45 -07:00
Annika
d5a4c7d9e2 CommandContext#globalModlog: Make user optional
Global modlog entries aren't always acting on a user, so making this parameter optional makes sense. I also changed them to default to null for consistency with CommandContext#modlog.
2021-04-19 08:53:17 -07:00
Annika
c87f63f4f0 /processes: Fix RAM usage display
`ps` reports RSS in kb, not bytes, making /processes off by a factor of 1024
2021-04-17 22:17:48 -07:00
Kris Johnson
f4fda49201 Update Battle Factory tests and command 2021-04-16 17:35:26 -06:00
Kris Johnson
e9e58c9f99 Dexsearch: Fix bug with mod parameters 2021-04-15 16:44:44 -06:00
Mia
5ed9517c84 Polls: Increase max question limit 2021-04-15 12:11:33 -05:00
Annika
9933c4e3f1 Fix lint errors 2021-04-15 09:03:33 -07:00
Mia
fdb1d4b762 Chat: Properly allow banwording new spoiler formatting 2021-04-15 10:33:41 -05:00
PartMan
54ebe56f20
Scavengers: Escape usernames in /scav status (#8201) 2021-04-15 15:46:43 +02:00
Kris Johnson
a0c3f105b2
Add /filter test (#8197) 2021-04-14 10:15:25 -07:00
Guangcong Luo
b8681ec288
Use a dispatch system for sockets (#8198)
Instead of using a mega-switch, instead use a dispatch system for the
sockets protocol.

A big advantage is that we don't need to be weird about variable
declarations using this method. We can use `const`s!
2021-04-14 07:18:59 -07:00
Distrib
334df4a744
Announcements: Fix /announcement htmlcreate (#8194) 2021-04-13 14:00:48 -07:00
Marty-D
84301ca382
Admin: Fix typo in processes 2021-04-12 17:36:43 -04:00
Marty-D
4eee39cd4a Revert "Fix suspect test unbans"
This reverts commit 6c3615a6f8.
2021-04-12 17:03:40 -04:00
Marty-D
6c3615a6f8 Fix suspect test unbans 2021-04-12 16:00:53 -04:00
Mia
1d494b6f2d RPS: Fix bugs with matchups and lower round cap 2021-04-12 10:40:31 -05:00
Leonard Craft III
d1e863b584
Help Tickets: Add cheating report type (#8190) 2021-04-10 01:14:04 -07:00
Guangcong Luo
5ece6ec784 Fix /formathelp, but properly this time 2021-04-09 08:09:55 -04:00
Christopher Monsanto
99fd7b8706
Chat: Implement Discord spoilers (#7948) 2021-04-09 01:39:47 -07:00
Annika L
583dceb693 Chat monitor: Weeklock for slurs in Pokemon nicknames 2021-04-08 22:18:38 -07:00
Mia
c43da18531
Admin: Add ram info to /processes (#8189) 2021-04-08 12:19:18 -07:00
Mia
e548579e9b
IPTools: Automatically add Tor IPs to the proxy list (#8188) 2021-04-08 11:34:09 -07:00
Guangcong Luo
cf5b325b62 Fix /formathelp 2021-04-08 13:34:36 -04:00
Mia
1db638815e Moderation: Allow locking hostfiltered users 2021-04-08 11:52:48 -05:00
Mia
6605e1e1b7 Autoresponder: Correctly format newlines in FAQs and improve style 2021-04-08 10:04:17 -05:00
Guangcong Luo
5233559183 Refactor Dex types 2021-04-08 07:08:56 -07:00
Guangcong Luo
13189fdb02
Update Dex API (#8181)
This is the change that renames:

- `Dex.getMove` -> `Dex.moves.get`
- `Dex.getAbility` -> `Dex.abilities.get`
- `Dex.getItem` -> `Dex.items.get`
- `Dex.getSpecies` -> `Dex.species.get`
- `Dex.getEffect` -> `Dex.conditions.get`
- `Dex.getNature` -> `Dex.natures.get`
- `Dex.getType` -> `Dex.types.get`
- `Dex.getFormat` -> `Dex.formats.get`

In addition, some other APIs have been updated:

- `getByID` methods have also been added to every other table.
- `Dex.moves.all()` now gets an array of all moves
  - Plus equivalent methods for `abilities`, `items`, `species`, `formats`, `natures`, `types`
  - Note: there's no `Dex.conditions.all()`
- new API: `Dex.stats` for naming/iterating stats
- `Dex.getEffectByID` -> `Dex.conditions.getByID`
- `Dex.getType` -> `Dex.types.get`
- `Dex.data.Formats` -> `Dex.data.Rulesets`
- `Dex.formats` -> now an array `Dex.formats.all()`
- `Dex.getRuleTable` -> `Dex.formats.getRuleTable`
- `Dex.validateFormat` -> `Dex.formats.validate`

Team functions have been split off into a new `sim/teams` package:

- `Dex.packTeam` -> `Teams.pack`
- `Dex.fastUnpackTeam` -> `Teams.unpack`
- `Dex.generateTeam` -> `Teams.generate`
- `Dex.stringifyTeam` -> `Teams.export`

`Teams.export` has also been rewritten to better match how it works in client.

This implements #8178
2021-04-08 03:00:37 -07:00
Quinton Lee
697cd715bb
Add feedback to /sendhtmlpage and /highlighthtmlpage (#8187) 2021-04-07 22:27:39 -07:00
Mia
becb403d17 Chat: Add <youtube> to the list of autoclose HTML tags 2021-04-07 18:37:54 -05:00
Mia
9849c63fef
Room-Battle: Fix timer interaction with choice-blocking moves (#8186)
Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2021-04-07 11:26:55 -07:00
Annika
6806b8c3ac Chat monitor: Weeklock for slur evasion 2021-04-06 12:42:42 -07:00
Mia
7ea8cfa668 TOTD: Fix keys[0] not being the nom 2021-04-06 11:58:02 -05:00
Mia
708d81efde OTD: Fix double timestamp display 2021-04-06 11:50:28 -05:00
Mia
4ec9db3489 TOTD: Fix timestamp display and ensure timestamp always exists 2021-04-05 16:01:48 -05:00
Mia
4e6dce1395 Moderation: Properly allow extending namelocks 2021-04-05 14:21:27 -05:00
Mia
c506b2118c Hangman: Fix caps sensitivity in /hangman untag 2021-04-05 11:25:28 -05:00
Mia
783d581908 /invitebattle: Update form if target is blocking challenges 2021-04-04 14:19:55 -05:00
Mia
07bd07af4d Core: Properly apply /bch to /invitebattle 2021-04-03 21:26:43 -05:00
Annika
f43795880c Repeats: Ensure repeat IDs aren't empty strings 2021-04-03 18:04:52 -07:00
Guangcong Luo
0f127597b5 Shorten unrated matchmaking timer 2021-04-02 23:10:08 -07:00
Guangcong Luo
47da1d61c8 Use the invite form for /importinputlog 2021-04-02 23:00:30 -07:00
Guangcong Luo
368202605f Add Multi Random Battles 2021-04-02 23:00:30 -07:00
Guangcong Luo
694e79eea8 Add form for inviting players
(This makes it so you don't need to use console commands)
2021-04-02 23:00:30 -07:00
Guangcong Luo
8f001cc2ae Support challenges in 4-player games 2021-04-02 23:00:30 -07:00
Mia
46dc3409b6
Helptickets: Notify users of /faq proxy when opening an IP-appeal ticket (#8132) 2021-04-02 22:29:14 -04:00
Ben Baral
f3dc79f949
Update required version of Node.js (#8163) 2021-04-02 19:17:01 -07:00
siteworks
d887c00795
Mafia: Change lynches to vote in the votebox (#8149) 2021-04-02 18:52:13 -04:00
Distrib
9ba6a2e802
Tournaments: Allow regular users to check tour rules (#8161)
PR for https://www.smogon.com/forums/threads/allow-voiceds-and-regulars-to-check-tour-rules.3681028/
2021-04-02 15:38:25 -07:00
Annika
3ecff41881 /hotpatch: Remove non-alphanumeric characters
Today I accidentally typed a space after /hotpatch formats, and I don't see why it should reject that.
2021-04-02 14:22:03 -07:00
Mia
294e3a4a57
Chat monitor: Refactor to handle private filters better (#8112) 2021-04-01 15:35:37 -07:00
Guangcong Luo
c6edf9389f Minor refactor to RPS code 2021-04-01 15:07:27 -07:00
Mia
a9d9c5b09b Room-battle: Improve handling of forfeits in multi battles 2021-04-01 13:54:25 -05:00
Mia
960548cd65 Room-battle: Improve handling of forfeits in multi battles 2021-04-01 13:43:50 -05:00
Mia
4bfbd1b78d Fix build 2021-04-01 10:27:23 -05:00
Guangcong Luo
86df524adc Support forfeiting in free-for-all battles
I honestly don't understand HOW it works, but it definitely works.
2021-04-01 04:44:16 -07:00
Guangcong Luo
44ef998ecc Implement free-for-all
This involves a huge refactor for how battles are constructed, but
it's totally worth it.

Currently, tournaments, challenges, and laddering are unsupported; only
unrated searches work. But it does work, and it's beautiful.
2021-04-01 04:44:16 -07:00
Mia
f7044d542a Admin: Fix crash in /processes 2021-04-01 00:29:49 -05:00
Mia
f19f464ea7 Chat: Properly remove old data for some onRename handlers 2021-04-01 00:24:54 -05:00
Mia
b7680c783d
Add infrastructure to rename chat plugin data with rooms (#8153) 2021-04-01 01:23:01 -04:00
Spandan Punwatkar
b77d6cb20f
Add simulator support for multi battle (#7929)
This doesn't include matchmaking support (which had to be removed
for reworking), but it includes everything else.

Co-authored-by: Spandamn <spandan.punwatkar@gmail.com>
Co-authored-by: MacChaeger <msaimrkon@gmail.com>
Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2021-03-31 22:22:25 -07:00
Mia
a353e9ab43 Hangman: Fix case insensitivity in /hangman addtag 2021-03-29 21:11:00 -05:00
Guangcong Luo
d4b6ba4c0f Allow passing teams to random formats
The team validator will now complain if try to bring a team to a random
format. Also, if you bypass the validator (such as with
`/importinputlog` or using the JS API directly), you can now use custom
teams in random formats.

Fixes #8144
2021-03-29 10:28:00 -07:00
PartMan
fb51d2d769
Scavengers: Make !scav queue broadcastable (#8131) 2021-03-26 19:23:04 -07:00
Mia
b9d6b3e3f3
Punishments: Don't warn / mark staff users in banned groupchats (#7669) 2021-03-26 15:29:41 -07:00
Annika
ca9d8d31a8 Fix visual glitch in /randbats in Gen 1 2021-03-26 08:53:49 -07:00
Mia
fc75878432 Fix loading ranges in Punishments.sharedIPBlacklist 2021-03-26 09:26:03 -05:00
Annika
af8b286d2c Mastermind: Fix leaderboard bug and add aliases 2021-03-25 13:32:00 -07:00
Mia
4f31d369f5 Add an easy way to disable battlesearching commands 2021-03-25 12:24:12 -05:00
Guangcong Luo
49b32b2afe Don't accelerate the timer in challenge games 2021-03-24 19:24:43 -07:00
Mia
0c849570d2
Hangman: Support tagging premade phrases (#8133) 2021-03-24 16:10:33 -07:00
Kris Johnson
2e4eaf97e7 Announcements: Mark formatted text as trusted 2021-03-23 12:47:40 -06:00
Kris Johnson
dbc75a0ed5 UNO: Add a missing space when listing players 2021-03-23 02:37:16 -06:00
Mia
b21def4e91
Help tickets: Refresh /ht list on ticket update (#8113) 2021-03-22 15:55:58 -07:00
Mia
0c366ce2cc
Support tempbanning names with no known user (#8115) 2021-03-22 15:55:08 -07:00
Annika
4cf03154e9
Don't allow setting modchat above one's rank (#8130) 2021-03-22 15:49:56 -07:00
Mia
a15268f9c1 Helptickets: Remove extraneous 'month' from staff stats page 2021-03-22 13:31:42 -05:00
Distrib
0bd9f47324
Datasearch: Improve dexsearchhelp & movesearchhelp (#8066) 2021-03-21 18:42:04 -07:00
Annika
c1fa436e35 Trivia: Implement a /trivia unrankednew command
This enables the creation of Trivia officials that do not reward points.
2021-03-20 12:30:46 -07:00
Annika
6ecf74fa55 /randbats: Don't display Gmax sets in old gens 2021-03-20 12:30:46 -07:00
Distrib
2b610c039f
Tournaments: Add readmore for tour rules (#8128)
Pr for https://www.smogon.com/forums/threads/tour-getrules-tour-viewrules-codes.3673252/
2021-03-20 12:30:13 -07:00
Annika
1a8e65bbd9 Improve the /randbats command for Gmax sets 2021-03-19 20:48:57 -07:00
Mia
1623cf40d9 TOTD: Fix generated help 2021-03-18 15:02:42 -05:00
Mia
666773b561
TOTD: Fix /-otd toggleupdate and clean up (#8126) 2021-03-18 10:14:54 -07:00
Mia
32d727a3ea
TOTD: Fix legacy loading (#8125) 2021-03-18 08:23:04 -07:00
Mia
b02f44b1f1 Fix build 2021-03-18 10:14:16 -05:00
Mia
5a3d6067b2 TOTD: Restore old method of updating command table 2021-03-18 10:12:37 -05:00
Mia
70f8970825 TOTD: Fix -otd help 2021-03-18 09:53:45 -05:00
Mia
9bb9b44295
Thing of the Day: Refactor storage / remove hardcodes (#8119) 2021-03-18 07:08:33 -07:00
Mia
bfafdb0936
Admin: Ignore the current 'ps' process in /processes (#8049) 2021-03-18 07:07:11 -07:00
Guangcong Luo
9f8633ea10 Fix ladder double-update issue
Caused by #8015 incorrectly copy/pasting only parts of #7960.

I also cleaned up the ladder fast-update code while I was working
on this.
2021-03-18 10:00:11 -04:00
Mia
c4b23e790d
Helptickets: Automatically save replays linked in tickets (#8120) 2021-03-18 00:21:21 -07:00
Mia
6259ce27f8 Chat-monitor: Properly modlog /allowname names 2021-03-17 14:07:37 -05:00
Mia
5a38060315 Moderation: Properly reset user.trusted on demotion 2021-03-16 13:49:16 -05:00
Mia
523f572bec Helptickets: Handle gbanned namelocked users properly 2021-03-15 16:24:42 -05:00
Mia
ea3bd8303f
Roomstats: Display total stats and handle empty logfiles better (#8117) 2021-03-15 07:54:21 -07:00
fart
f07abc96b3
Add alias for /poll queuehtml (#8118)
Some staff have expressed confusion on the syntax of queueing HTML polls, since it is inconsistent with /poll htmlcreate, where html- comes before create (compared to queuehtml, where -html comes after). Instead of changing it entirely and causing additional confusion for people who got used to one command, this allows either command to be used. Further, the command for queuing HTML polls was not listed in the help for the command.
2021-03-15 03:42:04 -07:00
Mia
a4641eaf58
Fix /mafia extend in pages 2021-03-12 16:40:50 -06:00
Mia
9db563794b Fix crash in logging chat in inputlogs 2021-03-11 18:16:20 -06:00
Mia
15af69ab5b Moderation: Properly autojoin staff room on global promotion 2021-03-11 18:10:27 -06:00
Mia
92bc1bdb2d Roomsettings: Explicitly set modchat permissions
Currently, staff can turn modchat off, even if the rank is above them. According to both Zod and Aeo, this should never happen, so this fix is very direct for a reason. (this happens because modchat is set to 'a' in config.groups, but we aren't changing that since it may have more side effects. This is clearer, anyway.)
2021-03-11 17:03:31 -06:00
Mia
7f928e9837 Thing of the Day: Use writeUpdate() 2021-03-10 20:22:50 -06:00
Annika
3a99efbb0e Add a /randombattlenodmax command 2021-03-10 17:48:05 -08:00
Annika
c079677e15 Fix /trivia migrate 2021-03-10 09:08:40 -08:00
Mia
83b82c9f0e Hosts: Properly validate hosts in /nomarkshared add 2021-03-09 10:06:13 -06:00
Mia
d1af6d180b Fix build 2021-03-08 17:18:56 -06:00
Mia
b8ae8c9ef0 Admin: Document exclusion in keysToCopy 2021-03-08 08:41:09 -06:00
Mia
07b1c01f75
Support hotpatching User/Room/ProcessManager protos (#8095) 2021-03-08 05:23:17 -08:00
Annika
36c4dd7fec
Update comment to reflect the build script (#8107)
As far as I know, our documentation recommends using `node pokemon-showdown` to start PS, not `node build && node .server-dist/index.js`.
Thus, I don't think the latter is considered starting PS normally.
2021-03-08 02:40:45 -08:00
Mia
f8cea3e4a0 Fix namelocks not applying properly 2021-03-07 19:54:02 -06:00
Annika
88fa8e2971 Remove /randset
This command isn't seen as useful by the randbats and is buggy
2021-03-04 15:44:00 -08:00
Mia
9e0c1b7894
Restore /potd (#8092) 2021-03-03 18:24:57 -08:00
Mia
daf71a699e /randset: Handle random-teams not existing 2021-03-03 19:48:04 -06:00
Kris Johnson
be03d69dc8 Tournaments: Make rules capitalization consistent 2021-03-03 18:34:19 -07:00
Annika
75ed11e2aa Trivia: Fix /trivia lastofficialscore 2021-03-03 15:43:07 -08:00
Annika
c58d9ae959 Trivia: Use an Object, not a Map, for old scores
Maps are serialized to JSON as Objects, so this caused the type signatures to be incorrect when data was loaded from JSON.
2021-03-03 15:36:47 -08:00
Mia
9402a8814c
Fix crash in /randset (#8079) 2021-03-03 13:52:55 -08:00
Mia
736e38e4af
ProcessManager: Handle Monitor#slow in subprocesses (#7990) 2021-03-03 12:39:53 -08:00
Kris Johnson
987c8d95d4 Datasearch: Fix crash 2021-03-03 12:44:30 -07:00
cheesetheorange
936b7bf15c
Hangman: Correctly check guesses with numeric characters (#8056) 2021-03-01 13:01:16 -08:00
pyuk-bot
e3d13f821d
Dexsearch: use optional chaining in getMod() (#8091) 2021-03-01 12:09:57 -07:00
Mia
5d5b831275 Datasearch: Fix crash in PM 2021-03-01 12:46:13 -06:00
Kris Johnson
50fef2bc68 Fix crash in /ds 2021-03-01 10:32:08 -07:00
PartMan
fe1d15b34a
Scavengers: Display host's username when hunt ends (#8090) 2021-03-01 11:24:12 +01:00
Mia
5dd0da602d
Help tickets: Refresh ticket list in 'more tickets' button on click (#8080) 2021-02-28 18:41:21 -08:00
Mia
0d8e4d4542 Moderation: Fix /globaldeclare's help 2021-02-28 18:32:54 -06:00
Kris Johnson
aeecf8d24c
Dexsearch: Add support for searching by mods (#8064) 2021-02-28 14:37:00 -08:00
Mia
2c5906cedb Support more roomids with - in /msgroom 2021-02-28 10:02:33 -06:00
HoeenHero
749c40b6d9 Support groupchats in /msgroom 2021-02-28 09:54:23 -05:00
ayiadvance
23352312de
Change lynch to vote for public messages and add a vote alternative to lynch commands. (#8081) 2021-02-28 08:02:54 -05:00
Mia
6cccd0935a Revert /show and /requestshow to use <youtube> again 2021-02-27 22:33:13 -06:00
Mia
1c75a2a450 Polls: Fix /poll timer display 2021-02-26 17:56:22 -06:00
Mia
3e1658ee07 Minor activities: Fix clearing queue 2021-02-26 17:51:50 -06:00
Annika
fa889d5280 Add a /randset command 2021-02-26 14:34:04 -08:00
Mia
d50f5823ae Searchlogs: Properly handle deleted rooms 2021-02-26 13:52:25 -06:00
Annika
e4f02e77cb Punishments: Disconnect unregistered banned users
Globally banned users should always be disconnected if they are reusing their username. However, the punishments should only be applied to the user object if it's a registered name, in case someone accidentally logs into a banned name.
2021-02-25 18:20:54 -08:00
Zorquax
f47855c863
Mafia: Add /unwin command (#7955) 2021-02-25 15:40:59 -08:00
Mia
a596b7988b
Moderation: Don't hidetext for locks in tickets (#8072) 2021-02-25 06:51:16 -08:00
Christopher Monsanto
ff93e9865f thing-of-the-day: Don't display nomination list in A/M after nom 2021-02-25 09:22:49 -05:00
Annika
11b7245c99 Room FAQs: Don't allow empty FAQ entries 2021-02-22 14:56:50 -08:00
Annika
c2e97aaaed
Use optional chaining in more places (#8063) 2021-02-22 11:42:05 -08:00
Kris Johnson
80ad124388
Mafia: Fix IDEA picking 2021-02-21 15:11:02 -07:00
Mia
312d410b69 Mafia: Fix /mafia unlynch 2021-02-19 08:21:30 -06:00
Annika
ea76fc3717 Fix error message in /ipsearch
https://www.smogon.com/forums/threads/staff-suggestions-bugs.3514540/page-19#post-8758269
2021-02-18 21:43:32 -08:00
Mia
66f717424a Mafia: Fix /ideapick 2021-02-18 09:28:37 -06:00
Mia
9b33890cce Mafia: Fix /mafia sub 2021-02-17 15:30:15 -06:00
Annika
62056a33a9
Mafia: Fix bugs caused by not using /msgroom 2021-02-16 21:19:51 -08:00
Kris Johnson
82b20aaf8e
Use /msgroom in more places (#8042) 2021-02-16 20:10:05 -08:00
Annika
8b79c9d13f
Add another article to /intro (#8046) 2021-02-16 20:04:38 -08:00
Mia
fffc564c24
Add 'ps' output to /processes (#8047) 2021-02-16 20:04:03 -08:00
Annika
51883cc0bb Trivia: Don't reset scores twice 2021-02-16 08:57:08 -08:00
Annika
39439385df Trivia: Attempt to fix crash
I don't actually know what causes the crash on line 825, but my best guess is that one of the winners didn't have points, and thus got skipped in the `for` loop that initializes leaderboard entries.
2021-02-16 08:54:38 -08:00
Kris Johnson
4d9b993105
Suspect Tests: Add a whitelist (#8020) 2021-02-15 18:21:45 -08:00
Kris Johnson
3fbb9405dc
Usersearch: Make page forcerenames log to staff (#8035) 2021-02-15 16:11:25 -05:00
Mia
b1b29daeec
Chat: Fix parseSpoiler adding undefined strings (#8037)
And fix /forcerename
2021-02-15 15:59:20 -05:00
Guangcong Luo
61ea2dd916 Implement Utils.escapeHTMLForceWrap
Combining escapeHTML and forceWrap allows us to use <wbr /> instead
of U+200B, fixing a copy/paste bug.
2021-02-15 06:09:58 -05:00
Guangcong Luo
0dc3070229 Fix /hangman terms 2021-02-15 06:09:58 -05:00
Guangcong Luo
e1ac274b5a Deprecate /ioo 2021-02-15 05:56:44 -05:00
Mia
a6520350d3
Implement /msgroom (#8036) 2021-02-15 02:54:35 -08:00
Distrib
640eed65d1
Hangman: Improve hangman terms (#8027) 2021-02-15 02:47:14 -08:00
Distrib
313a51652a
UNO: Add /uno cards command (#8001) 2021-02-15 01:56:57 -08:00
Mia
4f0ff8cc96
Youtube: Support Twitch streams/channels (#8005) 2021-02-15 01:54:49 -08:00
Guangcong Luo
bce402d021 Fix context.parse() returning a string 2021-02-15 01:51:41 -08:00
Mia
f2f17885db
Deprecate /groupchatban (#8028) 2021-02-15 01:35:59 -08:00
Mia
5ec2172647
Moderation: Add spoilers support to more commands (#8033) 2021-02-15 01:33:43 -08:00
Annika
8f5c75cc76
Fix typo 2021-02-14 11:45:42 -08:00
Annika
2b2f5f37ba
Hangman: Fix crash when a room has no saved words 2021-02-14 11:45:18 -08:00
Mia
010ffe1a41
Admin: Fix /disablecommand message (#8019) 2021-02-13 23:19:59 -05:00
Volco
99cb8ea055
Fix helptickets game.ticket setting to undefined (#8000) 2021-02-13 23:18:40 -05:00
Mia
3d820cf38d
Ladders: Fix crash (#8015)
* Ladders: Fix crash

* OK

* Update ladders-remote.ts

* Update server/ladders-remote.ts

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>

* Update server/ladders-remote.ts

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2021-02-13 18:18:06 -08:00
Kris Johnson
0583a61e4c
Add a chat page for /usersearch (#8022) 2021-02-13 18:01:25 -08:00
Kris Johnson
b8cbee3944
Update OMotM/LCotM aliases (#8025) 2021-02-12 19:06:11 -07:00
Annika
1c8b5f73c1
Hangman: Fix bug with whitespace
Whitespace was tripping the chat filter for hangmans.
2021-02-11 15:49:20 -08:00
Kris Johnson
f347f4d4f2 Room FAQs: Fix grammar 2021-02-11 14:31:58 -07:00
zgeorgecsat
d692f2d0e2
Fix /mafia unhostban (#8012) 2021-02-10 21:22:58 -08:00
Mia
c9cbc8268f
Usergroups: Remove deprecated 's' permission (#7676) 2021-02-10 02:23:20 -08:00
Volco
0290643948
Fix minor activity timer not queuing polls (#8002) 2021-02-09 21:01:34 -08:00
Distrib
6aa8e268ce
Uno: Fix crash (#8016) 2021-02-09 17:31:06 -08:00
Annika
5333b4629d
Revert "Calculate and display Elo change on server (#7960)" (#8014)
This reverts commit b87dd717f6.
2021-02-09 11:06:42 -08:00
Annika
60e063ff01 Trivia: Add /trivia lastofficialscore
Requested by @TheMezStrikes
2021-02-09 10:41:00 -08:00
Annika
23f0c42ca4 Trivia: Always display question numbers 2021-02-08 22:26:06 -08:00
Annika
6398bb67ee Remove /unbanall
Approved: https://discord.com/channels/534298043176976395/565617827298541572/783311845279662120
2021-02-08 20:24:05 -08:00
Annika
963a269912 Trivia: Properly display question-based scorecaps 2021-02-08 17:59:40 -08:00
Annika
cd2e7325e8 Trivia: Fix confirmation for /trivia migrate 2021-02-08 16:59:58 -08:00
Annika
a14ea20be4 Trivia: Add a /trivia migrate command 2021-02-07 21:21:59 -08:00
Annika
3e4349d41b Trivia: Fix prizes for question-capped games 2021-02-07 21:01:16 -08:00
Annika
8bf6b92b99 Trivia: Support capping games by questions asked 2021-02-07 21:00:04 -08:00
Annika
ff55a87484 Trivia: Add a /trivia moveusedevent command 2021-02-07 21:00:04 -08:00
Distrib
27f103fd67
Announcements: Don't re-display on hotpatch (#7999) 2021-02-07 04:43:38 +04:00
Distrib
4944b111eb
UNO: Fix double turn after auto-disqualification (#7996) 2021-02-05 22:47:38 +04:00
DayanYT
b996f7283e
Mafia: Fix typo (#7995) 2021-02-05 09:58:04 -05:00
Annika
204bfad9b1 Trivia: Add "Event" and "Event (used)" categories
These categories are special–questions in the Event category move to Event (used) after they're asked in a game. Requested by QW mods and ROs
2021-02-04 15:54:18 -08:00
Annika
b46e90db73 Trivia: Use object spread for ALL_CATEGORIES 2021-02-04 15:51:41 -08:00
Annika
2dd9d252d5 Trivia: Fix crash in /trivia qs
Previously, /trivia qs crashed if no questions had ever been added to the category.
2021-02-04 15:49:44 -08:00
Guangcong Luo
aefe861568 Allow drivers to use /host
Drivers can see IPs in certain specialized conditions, which makes
`/host` a useful and harmless tool for them.
2021-02-03 22:51:42 -08:00
Instruct
7989e4df4f
/battlefactory: Fix searching for nonexistent tiers (#7989)
* BF cmd: Fix crash searching for a valid tier not included in a specific gen

* Update server/chat-plugins/random-battles.ts

* Update server/chat-plugins/random-battles.ts

* Update server/chat-plugins/random-battles.ts

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2021-02-02 21:56:08 -07:00
Guangcong Luo
782f316dd9
Merge BattleStream and RoomBattleStream commands (#7988)
RoomBattleStream originally overrode `_writeLine` in #5428 because
`>eval` had a dependency on `Chat.stringify`, and we were trying to
separate sim and server.

`Chat.stringify` is now `Utils.visualize`, so there's no more reason
for the separation. In addition, the separation is actively bad,
because it makes it impossible to import certain inputlogs outside
of the simulator.
2021-02-02 15:03:03 -08:00
Guangcong Luo
148439dc27 Refactor /editbattle
This moves the `player()` and `pokemon()` functions to be defined
inside `eval`, allowing them to be used by `>>>` and `/evalbattle`.

This should hopefully make the commands more readable as well.
2021-02-02 13:52:16 -08:00
Guangcong Luo
796be8da60 Implement /ebat reseed
Fixes #7963
2021-02-02 13:45:34 -08:00
Distrib
cf9f7a5a19
UNO: Fix turn order after a disqualification (#7944) 2021-02-02 12:03:46 -08:00
aQrator
271bed474f
Update scavengers.ts (#7986)
Fix /scavhelp to say /scavhelp staff instead of /roomhelp staff
2021-02-03 00:02:29 +04:00
Mia
b97ba59149
NN filters: Parse /me properly (#7987) 2021-02-03 00:02:00 +04:00
Mia
13a2a802a1
YouTube: Add a command to disable the interval (#7984) 2021-02-02 11:11:54 -08:00
aQrator
77b2ef6c48
Scavengers: Update /scavhelp (#7985) 2021-02-02 11:11:37 -08:00
Volco
88d9ec5e91
Fix crash that prevents the server from booting (#7983) 2021-02-02 11:05:14 -08:00
Mia
4c60f05994
NN Filters: Add a command to train on logs from a room (#7981) 2021-02-01 17:30:50 -08:00
Mia
98ea14dce3
Spotlights: Store image data (#7978) 2021-02-01 16:37:17 -08:00
TheMezStrikes
838871877d
Add CAP Project forum link (#7982)
This used to not be necessary but the main website is criminally outdated. Requested by CAP room leadership
2021-02-01 17:29:08 -07:00
Mia
daf650d174
Rooms: Fix automodchat (#7979) 2021-02-01 16:18:36 -08:00
Guangcong Luo
ec0b96e93d Fix delete button on Poll queue page
Fixes #7832
2021-02-01 16:13:07 -08:00
Mia
207d234260
Youtube: Notify room of starting groupwatches (#7980) 2021-02-01 12:07:40 -08:00
Kris Johnson
7f4c8c2831
Add help for /automodchat 2021-01-31 23:28:46 -07:00
Guangcong Luo
c27f2cd381 Deprecate /ionext
Most current use-cases should be using /hidenext.

The long-form /inviteonlynext is still available for anyone who really
wants it, but in theory it doesn't offer any benefits.
2021-01-31 21:41:57 -05:00
Guangcong Luo
93e921360e Better infer bases in /math 2021-01-31 18:10:37 -08:00
DayanYT
fd0e01ad6c
Calculator: Support h, o and b suffixes for base 16, 8 and 2 numbers (#7949) 2021-01-31 18:10:16 -08:00
Mia
76c10841ea
Lib: Add an index file for all exports (#7972) 2021-01-31 18:00:19 -08:00
Mia
2bdc77cc3d
Net filters: Fix error handling and make improvements (#7974) 2021-01-31 11:26:16 -08:00
Dylan S
b87dd717f6
Calculate and display Elo change on server (#7960) 2021-01-31 11:13:59 -08:00
Mia
a8edba9bd3
Minor activities: Don't re-display on hotpatch (#7970) 2021-01-31 00:36:07 -08:00
Mia
a6a12f0570
Info: Add a /faq for pages/proxyhelp (#7958) 2021-01-30 23:19:14 -08:00
Mia
f6491e61ea
Youtube: Add a command to list groupwatches (#7964) 2021-01-30 22:57:02 -08:00
Guangcong Luo
747974db34 Support diacriticals in Hangman
We now support the entire gamut of Unicode. You can still only guess the
26 English letters, though.
2021-01-30 23:02:56 -05:00
Mia
335eafba95
Add machine-learning based monitors (#7937) 2021-01-30 17:40:01 -08:00
Mia
727d6a4498
Monitor: Standardize slow logging (#7969) 2021-01-30 13:32:06 -08:00
Mia
f4d78b8395
Fix build 2021-01-30 15:08:50 -06:00
Guangcong Luo
da30a71706 Revert "Remove User#inRooms and User#games (#7815)"
This reverts commit 5c9c84c415.

This also reverts commit 1fc92ef977.
2021-01-30 15:55:55 -05:00
Mia
0ad5c41896 Chatlog: Restrict access to slowlog roomlogs 2021-01-30 14:40:15 -06:00
Mia
8f4b07b163 Chat: Fix logging of slow commands in PM 2021-01-30 13:55:11 -06:00
Mia
e411890a47 Fix PM duplication 2021-01-30 13:41:47 -06:00
Guangcong Luo
f4abf52f61 Fix QueryProcessManager type signatures 2021-01-30 11:35:35 -08:00
Annika
353a81e3d4 Modlog: Properly implement timing of searches 2021-01-30 10:51:33 -08:00
Mia
8cf667a78d
Chat: Properly log slow async commands used in PM (#7966) 2021-01-30 09:41:40 -08:00
Guangcong Luo
cb7430ecfd Refactor logSlowMessage
Fixes #7962
2021-01-29 18:16:24 -05:00
Mia
6b4507aba9
Chat: Track slow async commands (#7961) 2021-01-29 08:59:20 -08:00
Guangcong Luo
cb65fb868d Properly fix Auth#hasPermission 2021-01-28 22:04:03 -08:00
Annika
b92924fc8b Fix Auth#hasPermission
As per the discussion in #sim-dev:
  - Global permissions should always use User#tempGroup
  - Room permissions should check both the roomauth list and user and User#tempGroup
2021-01-28 18:42:16 -08:00
Guangcong Luo
1fc92ef977 Fix bugs in inRooms/games refactor 2021-01-28 20:35:30 -05:00
Guangcong Luo
5ace098eb5 Fix validator crash reporting
Validator crashes weren't being reported to the dev room. This fixes that.
2021-01-28 20:35:30 -05:00
Annika
1f7ea9e990 Fix bug with permission jurisdictions
This bug allowed people to punish people of the same and higher ranks. Monkeypatched on main.
2021-01-28 13:33:23 -08:00
Mia
3479c1f5e0 Admin: Allow dev staff to use /processes 2021-01-28 15:00:05 -06:00
Kris Johnson
081326b69c
Refactor minor activities (#7766) 2021-01-28 12:12:54 -08:00
Mia
a63fb0074a
CommandContext: Add a method for refreshing html pages (#7666) 2021-01-28 12:10:50 -08:00
Mia
1654307731
Helptickets: Fix bugs with unbanning (#7883) 2021-01-28 11:43:44 -08:00
Mia
c1cd4630b1
Users: Automatically expire inactive connections (#7957) 2021-01-28 11:43:02 -08:00
Mia
184e867761
Hangman: Support saving hangman entries (#7630) 2021-01-28 11:24:46 -08:00
Mia
db92804541
Support automodchat when all roomstaff are offline (#7810) 2021-01-28 11:14:55 -08:00
Mia
2688c21351
Improve /usersearch (#7956) 2021-01-28 10:54:21 -08:00
Distrib
4b404f5765
Improve /offertiehelp (#7952) 2021-01-28 10:43:06 -08:00
Mia
5c9c84c415
Remove User#inRooms and User#games (#7815) 2021-01-28 10:41:35 -08:00
Mia
11e4dcd272
Support using more moderation commands offline (#7742) 2021-01-28 10:41:24 -08:00
SirKira(!Uzumaki)
fad8e27b7e
Mention groupchat restrictions in /help makegroupchat (#7931)
* Change help for makegroupchat.

* Update server/chat-commands/room-settings.ts

thanks

Co-authored-by: Annika <annika0uwu@gmail.com>

Co-authored-by: Annika <annika0uwu@gmail.com>
2021-01-26 09:12:38 -08:00
Mia
a896f2e73a
Moderation: Log Owner forcepromotes to Staff/Upper Staff (#7951) 2021-01-26 09:10:48 -08:00
Distrib
0ab6bcb80a
Daily spotlight: Display raw text in /daily (#7947) 2021-01-25 08:59:39 -08:00
Annika
70e41af150 Include rangelocks in Punishments#getPunishments 2021-01-24 22:10:47 -08:00
Distrib
fecfc9f846
Room FAQs: Display raw text in /rfaq (#7928) 2021-01-23 04:37:44 -08:00
Distrib
c30d8cd125
Room Events: Imrove raw text in /events view (#7933) 2021-01-23 04:37:03 -08:00
TheMezStrikes
593e589bb4
Default sendhtmlpage to all connections (#7939) 2021-01-23 04:36:05 -08:00
Instruct
0d1c9fe098
SSB4: Bugfixes and Balance Patches (#7889) 2021-01-22 14:56:26 +04:00
Annika
e6e3421611
Add subcat1 as an alias for subcat
Requested by aegii
2021-01-21 21:47:28 -08:00
zgeorgecsat
c0df565f3c
Mafia: Implement gamebans, various updates (#7867)
* Plurality shift is now shown upon hammer.

* Removes night responses drop down option.

* Adds error reply if user tries to use an argument with /mafia action.

* Lists cohosts on the mafia page.

* Playerlists are alphabetized.

* Declares when closed setup is turned on.

* /mafia kill kills multiple users separated by commas.

* Changes for checks

* Add gamebans/refactor hostbans to use Punishments

* Small fixes

* Change for checks

* Suggestions

* Updates for checks

* Make takeidles default and change game name to Mafia

* Update mafia.ts

* Use this.room
2021-01-22 00:52:28 +10:30
Mia
4c69e581fc
Prevent non-trusted users creating groupchats (#7927) 2021-01-19 13:35:15 -08:00
SirKira(!Uzumaki)
071cf40d30
Fix double box in YouTube channel display (#7861) 2021-01-19 09:03:07 -08:00
Adam Tran
14744879c8
Fix excluding variables in /ms (#7859) 2021-01-18 11:42:58 -06:00
Mia
20be102fa0
Usergroups: Fix atLeast whitelist handling (#7905)
* Usergroups: Fix atLeast whitelist handling

* Update server/user-groups.ts

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2021-01-15 18:30:26 -08:00
Mia
996f8c766e
Punishments: Support ranges in /nomarkshared (#7913) 2021-01-15 17:38:13 -08:00
Mia
02ba681e40
Moderation: Support week namelocks (#7912) 2021-01-15 17:20:26 -08:00
Leonard Craft III
40731a74e8
Improve help ticket roomintro CSS (#7915) 2021-01-14 20:21:47 +04:00
Guangcong Luo
1558811b03 Refactor Polls for Chat.ErrorMessage
Also adds an error message for "option already selected".
2021-01-12 19:58:34 -08:00
Annika
8c65fada6d Trivia: Clarify error message 2021-01-12 16:36:42 -08:00
Kris Johnson
2ff6598905 Tournaments: Fix bug with playercap roomsetting 2021-01-11 17:35:30 -07:00
Guangcong Luo
8fcdf1a895 Fix people voting >1 time for one poll option
Fixes #7906

Fixes https://www.smogon.com/forums/threads/bug-reports-v4-read-original-post-before-posting.3663703/page-40#post-8685683
2021-01-11 16:23:12 -08:00
Distrib
aa501ecaa7
thing-of-the-day: Fix text bug (#7907)
https://www.smogon.com/forums/threads/bug-reports-v4-read-original-post-before-posting.3663703/page-44#post-8710248
2021-01-11 15:48:16 -08:00
Mia
8c27482c88
Permissions: Fix bug in adding namespaces (#7903) 2021-01-11 15:34:39 -08:00
Mia
121e93524c
Add a command for searching groupchats (#7900)
* Add a command for searching groupchats

* OK
2021-01-11 01:27:59 -08:00
Distrib
045a15f0bd
Poll: Fix viewqueue (#7902) 2021-01-10 13:49:18 -08:00
The Immortal
3ae56399bd Label Pokemon banned from LC as NFE 2021-01-11 00:29:18 +04:00
Lionyx
0cb548692b
Update the beginner's guide's link (#7901) 2021-01-10 17:11:48 +04:00
Guangcong Luo
a68656a8e7 Support destroying rooms in unit tests
Matchmaking unit tests currently rely on destroying and re-creating a
user causing them to forget about battles they're in, which is not
actually supposed to happen, and breaks #7815.
2021-01-10 03:39:01 -08:00
Mia
6ae859326d Helptickets: Update the #hostfilter lock page description 2021-01-09 20:29:28 -06:00
Mia
ca94dea20f
FS: Fix hotpatching and add more throttling (#7878)
- `writeUpdate` state is now stored in a global variable, so hotpatching doesn't crash it
- throttling now writes on the tail (so two throttled `writeUpdate` calls will write one update, not two)
- room settings, punishments, and helptickets are now throttled
2021-01-09 15:49:30 -08:00
Mia
d5e7f3f778
Modlog: Add more shorthand commands (#7896) 2021-01-09 01:00:05 -08:00
Distrib
270a55ef0b
Improve /help events (#7895)
Pr for imrove help events, same https://github.com/smogon/pokemon-showdown/pull/7828
2021-01-08 19:18:21 -08:00
Kris Johnson
883cb02152
Tournaments: Fix bugs with replacing users (#7890) 2021-01-08 11:26:54 +04:00
Annika
88da40d046
Roomlog: Support getting total linecount (#7885) 2021-01-07 13:10:23 -08:00
Annika
2a54d9d82e
Chat monitor: Add ƞ to evasion regexes 2021-01-07 12:32:59 -08:00
Kris Johnson
7bb99e2abb
Add roomsettings for tournaments (#7876)
* Add roomsettings for tournaments

* gar ehseth et hseh

* aeth srth esg
2021-01-05 14:15:57 -08:00
Distrib
0b2e07dd3e
Add alias for /cleartext (#7850)
* Add alias for /cleartext

Pr for https://www.smogon.com/forums/threads/add-a-short-alias-for-hidetext-hidelines-and-cleartext.3673226/#post-8700023

* Update server/chat-commands/moderation.ts

Co-authored-by: Annika <annika0uwu@gmail.com>

Co-authored-by: Annika <annika0uwu@gmail.com>
2021-01-05 14:12:51 -08:00
Mia
6ca74b025f Chat: Properly sort filters by priority 2021-01-05 14:24:53 -06:00
Mia
40cc33fcfd
Chat: Add support for private pages (#7877) 2021-01-04 10:15:42 -08:00
Guangcong Luo
6b3a3070c9 Refactor team validator for readability
`checkLearnset` has been renamed `checkCanLearn`.

`reconcileLearnset` has been replaced with `validateMoves`, which
bundles the actual `checkCanLearn` calls with the old
`reconcileLearnset`, making for a better name.
2021-01-03 23:26:20 -08:00
zgeorgecsat
6c5a74c949
Mafia: Refactor for errorReply/requireGame (#7862)
* Changed to errorReply and requireGame whenever applicable/

* Use Chat.ErrorMessage in canJoin
2021-01-03 11:44:43 -08:00
PartMan
6597ef0f15
Add multi-hit as a parameter to /ms (#7855)
* Add multi-hit as a parameter to /ms

* Revert /help ds, add multihit to /help ms, fix TS

Code linted, let's go
'Tis coding at midnight
Save what had been tossed...
Bring back the older line...
The older line.

* ;-;

  1465 passing (25s)
  53 pending


> pokemon-showdown@0.11.4 posttest /home/partman/Documents/Code/pokemon-showdown
> npm run tsc


> pokemon-showdown@0.11.4 tsc /home/partman/Documents/Code/pokemon-showdown
> tsc


No idea why this wasn't caught.

* Fingers crossed
2021-01-03 11:42:27 -08:00
Guangcong Luo
ad656f67e4 Keep track of why moves can't be learned
The validator will now always know and be able to report exactly why
a move can't be learned, instead of sometimes not being able to figure
it out.
2021-01-03 09:53:04 -08:00
urkerab
5cb927d439
Remove variables made redundant by PR #7663 (#7873)
The `hotpatchVersions` variable was only used by `requiresForce`.

The `patch` variable no longer provides any benefit over `target`,
so I removed it too.
2021-01-03 21:17:30 +04:00
Plato
0731a47deb
Repeats: Fix private mod actions (#7865) 2021-01-01 14:07:16 -08:00
Kris Johnson
8b78eeb011 Fix HTML polls 2020-12-31 14:16:20 -07:00
Mia
cf9b7a3eb3
Support spoiler: for private reasons in /namelock (#7858) 2020-12-30 17:45:40 -08:00
Guangcong Luo
c44af3286d Implement Utils.forceWrap
I wrote a `forceWrap` method to support break-word wrapping in table
cells for scavengers, but apparently code blocks need it too, so I'm
moving it to Utils.

Fixes #7854
2020-12-30 17:41:41 -08:00
Instruct
e56d470671
Dexsearch: Add Strength Sap & Jungle Healing to list of recovery moves (#7851) 2020-12-30 02:29:59 +04:00
AeonicX7
2edfe301fd
Fix typo in /help battlesearch (#7852) 2020-12-29 14:16:32 -08:00
Kris Johnson
60cf560f9f
Repeats: Simplify code and fix bug (#7849)
* Repeats: Simplify display checks and fix bug

* Oops

* b
2020-12-29 03:57:18 -08:00
Mia
05295e356a
Modify uses of <youtube> tag to comply with API ToS (#7848) 2020-12-28 22:09:32 -08:00
Annika
3c0b07323d
Repeats: Use trusted text formatting
Requested by Kris; follows the precedent of roomfaqs
2020-12-28 21:56:01 -08:00
Guangcong Luo
d4876ff303 Improve safety of Punishments hotpatching 2020-12-28 08:50:42 -05:00
Guangcong Luo
99f5234e75 Fix a bunch of bugs in Polls/Announcements
- Polls were always starting as quizzes even when they weren't

- Hotpatching chat would reset poll/announcement timers

- A lot of bugs relating to minute/millisecond confusion in timer code

- Poll answers were called `questions` in the source code for some
  reason; they've been renamed to consistently be `answer`.

- Refactor out an extremely unnecessary manual iteration
2020-12-28 08:50:34 -05:00
Annika
6d92ac8547
Repeats: Support non-time-based repeats (#7518) 2020-12-28 03:39:52 -08:00
Mia
2cca8bd48e
Support persisting polls and announcements (#7477) 2020-12-28 01:02:13 -08:00
Mia
f2264c93d4
Throttle how many rooms a user can join at once (#7817)
* Throttle room joining

* OK

* comment & thing

* Update server/chat-commands/moderation.ts

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>

* Update server/chat-commands/moderation.ts

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>

* Update server/chat-commands/moderation.ts

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2020-12-26 22:06:31 -08:00
Adam Tran
6702decd95
Add Pivot moves as a /ms category (#7822)
* draft test

* Move search for pivot moves
2020-12-26 21:57:03 -08:00
Annika
9edf0ad456 Modlog: Increase PM timeout to 30 minutes 2020-12-26 20:30:17 -05:00
Annika
ca9ce2f225
Refactor /updateserver (#7836)
Now, `/updateserver` updates both public and private code.

To update only one, use `/updateserver private` or `/updateserver public`.
2020-12-26 07:17:43 -08:00
Mia
ff6a030992
Add a --no-security flag (#7648)
* Add a --no-security flag

* Handle port detection better

* Update server/index.ts

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2020-12-24 10:11:11 -08:00
SirKira(!Uzumaki)
f35be5b51c
Alias /srgc to /subroomgroupchat (#7824)
* Add a alias for /subroomgroupchat.

* Update room-settings.ts
2020-12-24 10:03:48 -08:00
Mia
f787625e2c
Translations: Properly ignore non-translation directories (#7826)
* Translations: Properly ignore non-translation directories

* use ids
2020-12-24 10:00:48 -08:00
Instruct
5b441c2013
Super Staff Bros 4 (#7793)
Collaborative Project lead by @xInstruct with many contributors.

See the Special Thanks section of https://www.smogon.com/articles/super-staff-bros-4
2020-12-24 11:21:02 -05:00
Mia
981019e148
YouTube: Fix crash in interval (#7831) 2020-12-23 20:35:09 -08:00
Distrib
e8d0a8ec86
Improve /help daily (#7828) 2020-12-23 00:02:30 -08:00
Distrib
236aa0a1df
Hosts: Improve /help ipranges 2020-12-22 15:13:36 -08:00
Guangcong Luo
c13a9c84fb Improve /help poll 2020-12-21 21:26:51 -08:00
Distrib
393abfb056
Polls: Redesign help and add missing command (#7803) 2020-12-21 13:55:47 -08:00
SirKira(!Uzumaki)
542c28edd1
Allow PMing self with /blockpms on (#7811) 2020-12-21 03:47:24 -08:00
Distrib
cdcda7061d
Fix padding in /battlerules (#7825) 2020-12-21 03:42:10 -08:00
TheMezStrikes
ff4fe37f79
Alias /suggest and /suggestion to /suggestions (#7816) 2020-12-21 03:36:36 -08:00
Annika
9a9b06ffc9
Chat: Support specifying priority for chatfilters (#7792) 2020-12-21 03:01:16 -08:00
Mia
e601a5eb1f
Suspect tests: Move functionality out of sim/ (#7769) 2020-12-21 13:32:19 +04:00
Kris Johnson
dbbb89bdc2 Fix help for /renameroom 2020-12-20 12:35:06 -07:00
Mia
c12108fa72
Fix spinlock in /nomarkshared view (#7821) 2020-12-18 13:16:02 -08:00
Annika
42bd7cb8f5 Trivia: Remove deprecated sliceCategory function 2020-12-18 12:56:24 -08:00
Mia
075f96aca7 Fix /usersearch's listed permissions 2020-12-17 19:45:50 -06:00
fart
4e5e8c084b
Autoresponder: Fix bug with Refresh button (#7789)
* Fix Autoresponder Refresh button bug

Currently if you go into ``/autoresponder view`` and choose to view autoresponder Stats, it opens a menu where no date is specified and you can choose a date from there. If, however, you press the Refresh button (where no date is specified), it opens a new page called "view-autoresponder-room-stats-" (note the extra hyphen at the end). This is because the "refresh" function is called (on line 458) with [date], which would equal [""]. This is a truthy value, unlike [] and unlike "". This patch changes the conditional statement to look at the first item in the array's truthfulness - it is either an empty string (falsey) or a non-empty string (truthy) - instead of always being truthy.

* Fix failing test

* Fix failing test

Sorry if this isn't ideal, it's certainly not as elegant as it originally was.

* Update responder.ts

* Update responder.ts

* Update responder.ts
2020-12-16 12:33:38 -08:00
Annika
412ca7d5bb Mastermind: Fix timeout properly 2020-12-15 16:10:46 -08:00
Annika
290d520ea7 Mastermind: Highlight users on round start 2020-12-15 16:10:46 -08:00
Annika
e78fff3d47 Mastermind: Add a command to kick users 2020-12-15 16:10:46 -08:00
Annika
20bda5e548 Mastermind: Take all tied players to finals 2020-12-15 16:10:46 -08:00
Annika
721a48ea38 Trivia: Number submissions from 1 2020-12-15 12:00:10 -08:00
zgeorgecsat
5d4529ebcf
Mafia: Support submitting night actions through script (#7749)
* Allows players to submit idles through script

* Added suggestions

Co-authored-by: Student <Student@MacBook-Air-5.hsd1.il.comcast.net>
2020-12-15 14:45:30 +10:30
Annika
4c1f8bb491 Trivia: Fix bugs with adding questions 2020-12-14 18:48:35 -08:00
Annika
04418fee99 Trivia: Fix bug with Mastermind 2020-12-14 16:20:51 -08:00
Annika
dab1008448 Trivia: Fix bug in /trivia removeleaderboardentry 2020-12-14 15:07:50 -08:00
Annika
7f3afbc74f
Mastermind: Reduce intermission to 0.5 seconds
As per the original doc from Aegii (https://pastebin.pl/view/cf5113e5), which I misunderstood originally.
2020-12-14 14:46:40 -08:00
Annika
f2bfc82ca1
Chat monitor: Improve the handling of usernames (#7786)
* Chat monitor: Improve the handling of usernames

This PR ignores word boundaries in evasion regexes when filtering usernames, preventing the use of usernames with evasions of slurs in them.

* properly fix merge conflicts
2020-12-14 12:55:11 -08:00
Mia
755f930957
Add a page/command for viewing log access logs (#7794) 2020-12-14 01:38:56 -08:00
Annika
d742fbf1e4
Trivia: Use an Object for questions instead of a sorted array (#7800) 2020-12-13 23:17:10 -08:00
Mia
94fe9d838b
Fix userid search regexes for battlesearch/chatlog (#7801) 2020-12-13 23:12:14 -08:00
Annika
b7c3e6cff2 Chat monitor: Add Unicode support to regexes
This should fix the issues with the filter thinking that `🐺ℕ𝕚𝕟𝕖𝕥𝕒𝕝𝕖𝕤-𝔸𝕝𝕠𝕝𝕒🐺` was the T-slur.
2020-12-13 14:51:46 -08:00
Mia
9712f6ecf1
Modlog: Remove Rooms global in PM (#7799) 2020-12-13 12:52:52 -08:00
Mia
14218b133d Youtube: Fix crash in /yt endwatch 2020-12-13 20:12:20 +00:00
Mia
ceb7bfab8b
Battlelog: Run search in PM (#7796) 2020-12-12 13:44:54 -08:00
Guangcong Luo
6ceaed0002 Fix TypeScript error
It seems every other week TypeScript does an update that affects
whether or not this line needs a cast.

This should probably have been refactored to `typeof` ages ago, because
that one way more reliably doesn't need a cast.
2020-12-12 19:44:54 +00:00
Guangcong Luo
50d24998a9 Revert /tour forcepublic text change 2020-12-12 19:44:54 +00:00
Annika
37daf55014
Chatlog: Increase PM timeout to 1 hour 2020-12-11 20:47:09 -08:00
Mia
f9c4f8d4bc
Chatlog: Refactor FS/ripgrep handling and support battle logs (#7775) 2020-12-11 16:51:42 -08:00