Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
1132bbe
Removed broker code (wingman)
denverquane Dec 17, 2020
cbc37c0
Added shard manager, stubs for Discord event handlers
denverquane Dec 19, 2020
4675b9e
Added zap logging, unit tests, Redis message queue stubs
denverquane Dec 30, 2020
5de468b
Added full logging for remaining events
denverquane Dec 31, 2020
deca83b
Basic job request/pop functionality
denverquane Jan 2, 2021
b8aa2e2
Log env, move core galactus files, include latest utils
denverquane Jan 5, 2021
eb3b3ea
Added send message/embed endpoints, more test code and unit tests
denverquane Jan 6, 2021
5471d75
PoC for full receive+send+delete message pipeline
denverquane Jan 11, 2021
128b49d
Added all message endpoints for refactor of bot discord session manag…
denverquane Jan 11, 2021
8c0c26b
Added endpoint to fetch guild settings
denverquane Jan 11, 2021
6b138e6
Added emoji endpoints
denverquane Jan 14, 2021
6ece346
Switch to client long-polling to save on HTTP requests
denverquane Jan 15, 2021
fff5d4f
Added galactus client code
denverquane Jan 16, 2021
fd84a3f
Added capture client code
denverquane Jan 17, 2021
cec7b36
Update modify users
denverquane Jan 17, 2021
ad8d1b6
Added capture message listeners based on connect code
denverquane Jan 17, 2021
bf2c07d
Added get_capture_task for client
denverquane Jan 17, 2021
16c9177
Polling cleanup, added capture event get methods
denverquane Jan 17, 2021
35f4242
Removed unneeded capture_message type
denverquane Jan 17, 2021
5d779fc
Updated event payload type
denverquane Jan 17, 2021
cf6b321
Consolidated files, added subrouters and base routes
denverquane Jan 19, 2021
06a3949
Filter messages by prefix, fixed client endpoints
denverquane Jan 21, 2021
f769534
Filter reactions and voice messages, fixed client endpoint (again)
denverquane Jan 21, 2021
f4ec706
Fixed router, added user softban/ratelimit for reactions and messages
denverquane Jan 21, 2021
2f5ef14
Fixed erroneous endpoint for client's getCaptureEvent
denverquane Jan 22, 2021
0e63c62
Rename discord job endpoints, fix capture endpoint
denverquane Jan 22, 2021
6bc1c75
Separated Discord/Capture polling, proper HTTP request cancellation o…
denverquane Jan 24, 2021
2150b37
Allow context cancellation of client HTTP request for "getTask"
denverquane Jan 24, 2021
1417a10
All outgoing Discord requests on session 0 to respect rate-limits
denverquane Jan 24, 2021
0481203
Better logging, added user rate limit warnings/bans
denverquane Jan 24, 2021
835a211
Added top.gg user vote check example
denverquane Jan 25, 2021
a000609
Caching for edit embed, better logging, metrics reporting
denverquane Jan 25, 2021
fed7116
Fix superfluous HTTP header write
denverquane Jan 25, 2021
ab5ea47
Update discordgo, use Redis key for prefix separately (optimization t…
denverquane Jan 31, 2021
70667e0
Use utils to hash guildID
denverquane Jan 31, 2021
705ec97
Added helper for send and delete message
denverquane Feb 1, 2021
c5fc0a2
Added NUM_SHARDS as override for recommended shard count
Feb 1, 2021
57688cb
Switch from redislock to redsync, lock all relevant snowflakes
denverquane Feb 2, 2021
55f263e
Better lock settings
denverquane Feb 2, 2021
1c920ff
Removed ARM builds, I can't take the build times anymore
denverquane Feb 2, 2021
ec5e7ec
Remove lock from modifyusers call
denverquane Feb 2, 2021
66ca6e4
Change locking strategy to explicitly not unlock (no duplicate proces…
denverquane Feb 2, 2021
27ac0dd
Added Premium endpoint to server and client code, alongside caching v…
denverquane Feb 3, 2021
10e59f7
Add Content-Type header to stats endpoint
CarbonNeuron Feb 3, 2021
2652b03
Merge pull request #9 from CarbonNeuron/patch-1
denverquane Feb 3, 2021
be6f14c
Misc ratelimit and message fixes
denverquane Feb 4, 2021
2b10b22
Merge remote-tracking branch 'origin/theGreatSchism' into theGreatSchism
denverquane Feb 4, 2021
1f34933
Embed validation on empty fields/names
denverquane Feb 4, 2021
1bd854d
Capture endless broadcast fix
denverquane Feb 9, 2021
1503b9a
Don't cache self-host values
denverquane Feb 24, 2021
301c081
fix(shard_manager): #10 Move AddHandlers before start()
kurokobo Mar 8, 2021
9cb4173
Merge pull request #11 from kurokobo/#10_shard
denverquane Mar 8, 2021
bbc4206
Small fixes to test files
denverquane Jan 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/386,linux/arm/v7,linux/arm64,linux/arm/v6
platforms: linux/amd64,linux/386,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,13 @@ storage of temporary tokens, and, crucially, communication between the Capture c

### Optional:
* `GALACTUS_PORT`: The port on which Galactus will run and receive requests from AutoMuteUs. Defaults to 5858.
* `BROKER_PORT`: The port on which the broker will listen for socket connections from capture clients. Defaults to 8123.
* `REDIS_USER`: Username to authenticate with Redis, if applicable.
* `REDIS_PASS`: Password to authenticate with Redis, if applicable.
* `WORKER_BOT_TOKENS`: Additional bot tokens that Galactus should leverage to issue mutes/deafens

## **Do not provide unless you know what you're doing**:
* `NUM_SHARDS`: Should match whatever automuteus is using
* `SHARD_ID`: Probably just use 0
* `MAX_REQ_5_SEC`: How many Discord API mute/deafens should be issued per token per 5 second window. Defaults to 7 (ratelimits
returned by Discord are anywhere from [5-10]/5sec, so 7 is a decent heuristic)
* `ACK_TIMEOUT_MS`: How many milliseconds after a Mute task is received before it times out, if no capture bot completes the task
* `ACK_TIMEOUT_MS`: How many milliseconds after a Mute task is received before it times out, if no capture bot completes the task. Defaults to 1000 (1 second)
* `TASK_TIMEOUT_MS`: How long before a request for available tasks from a Bot times out (client long-polling). Defaults to 10000 (10 seconds)
* `MAX_WORKERS`: Max concurrent workers for issuing mute/deafens for any inbound request. Defaults to 8
331 changes: 0 additions & 331 deletions broker/broker.go

This file was deleted.

Loading