forked from hydrum/PickupDiscord
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
121 lines (104 loc) · 5.08 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
TODO:
(x) update admin roles: instead of hardcoding, claim right by !iamgod <role>, then be able to add or remove roles
(x) ability to remove a urtauth from a user (admin cmd)
(x) !top5 function
(x) handle matchstart: if playercount == 10 => request a server, if one is avi -> startGame() -> move match to ongoing and be ready for a new signup
(x) be able to vote/remove during AwaitingServer state
(x) cmd to get matchinfo for ongoing matches
(x) whitelist certain players on the server (admins)
(x) !reset for live matches
(x) !getdata
(x) somehow gametype related maps isnt working -> to check
(x) ignore messages from self
(x) send !top5 msgs as one msg instead of 5 seperate ones
(x) !gameconfig <gametype> <timelimit 10...> => would replace gametype.config
(x) !register => to lowercase
(x) use !elo <@userid> for retrieving elo
(x) move !lock to pubchan
(x) !reset <gametype>
(x) don't hardcode pubchan
(x) make playercount dynamically
(x) !map vote no msg
(x) [ Pickup Game #cur ][ Signup ][ Gametype: CTF ][ 5/10 ][ Players: None@Slide @RaideR @v3nd3tta | Jonathan @Biddle @Gost0r ]
(x) !status give only urtauth
(x) API call failed: (429) TOO MANY REQUESTS
(x) send msgs once (gamestart)
(x) todo server.connect adjust // when do you connect to the server?
(x) rs2 closed => failed pstmt
(x) !add should highlight the added player
(x) !reset saveMatch not working - when aborting (see stacktrace)
( ) rework match abort/cancel/end behaviour to be more consistent
(x) !help !cmd without !
(x) !top5 crash on 5th entry: nullpointer for player
( ) !showmatch starttime
(x) check scoreboard roundtime for modes like ts, bomb etc => else possible prematurely entering SCORE state
( ) need prematurely leaver detection
(x) acknowledge role changes and therefore caching it
( ) ability to queue up for multiple gametypes
( ) replace status 0/10 when removed with leaving player
(x) delete failed !register <authkey> msg and tell the player to use his authname instead.
( ) !reset 19 didn't stop the server monitor
(x) test whether swaproles is actually detecting stuff
(x) matchstats aren't recorded at all - check out why => related to us using the newly-overwritten version of rpp when the warmup was detected?
(x) forceteam ignores spec
(x) check if ServerPlayer.player is now != null and proceed with statscalculation
(x) fix SCORE->WELCOME transition when a full team left the match
(x) implement error output for "no map for gametype"
(x) "Your auth has been already registered with another account." -> auth/user
(x) implement rank equivalents "> 1600 = diamond / > 1350 = platinum / > 1150 = gold / > 1000 = silver / <1000 = bronze / < 850 = Wood"
(x) use rank-emojis instead of SILVER etc
(x) !elo </urtauth/> not working for urtauths
(x) implement !surrender
(x) display voted map
(x) make sure id's are strings, but digits only (DiscordUser.get(id))
(x) add + to positive elochange on aftermath
(x) allow admins to !remove <discorduser>
(x) use logger for proper logging
( ) don't display default port if serverip is a domain
( ) add the ability to move users into certain voicechans: https://discordapp.com/developers/docs/resources/guild#modify-guild-member
( ) pub func !ongoing with gametime, ready etc
(x) add expected auth-whois msgs
(x) copy new stats to the existing player in case we found him
(x) #4 v3nd3tta 986 (--14)
(x) fix g_swaproles reply actually contains "1^7" and not just "1"
( ) find out why the bot isn't sometimes launching the ServerMonitor or randomly stop observing
(x) URGENT: if ServerMonitor is active and !rcon <string> is sent, bot goes into an endless loop.
( ) when server is added, check via rcon call whether its working
(x) add kick msg to kick
server monitor: forceplayers rework
-> auths not displayed
-> stats not updating?
-> teams not updating
-> how does auth-whois look like for non-authed ppl
-> swaproles not working
( ) parseRconPlayers can be empty! - why/how?
Exception in thread "Thread-2" java.lang.NullPointerException
at de.gost0r.pickupbot.pickup.server.ServerMonitor.evaluateState(ServerMonitor.java:225)
at de.gost0r.pickupbot.pickup.server.ServerMonitor.observe(ServerMonitor.java:76)
at de.gost0r.pickupbot.pickup.server.ServerMonitor.run(ServerMonitor.java:56)
at java.lang.Thread.run(Unknown Source)
( ) !expire 15m timer until autoremove
( ) admin cmds to lookup user/auths/ips etc
( ) playerprofiles (stats stats stats (matches played etc...))
( ) match history
// Discord:
( ) reconnect (resume) function
( ) get gateway if fails to connect
( ) ability to reply to heartbeat event
(x) reconnect if WebSocket was shut down
IDEA:
- display newly connected/disconnected people in the chat
- ringer system? how would that look like
- report/auto-ban system
- multiple guilds
ABORT: currently if 5min are over, match will be aborted - good?
REPORT SYSTEM:
!report auth leave/noshow/insult/troll
to defend yourself: !excuse <reason>
if 3 games a report
msg to admins to review case !review <number>
!accept !decline
suspended for 1d, 3d, 1w, 2w, 1m, 3m, perm
show bans and time !banlist
ability to ban ppl as admin !permban <auth> ? if temp bans wished: !ban <auth> <1d> ex.?
end bans: !pardon <auth>