mirror of
https://github.com/dalbodeule/chibot-chzzk-bot.git
synced 2025-06-09 07:18:22 +00:00
asdf11
This commit is contained in:
parent
cb5bbf73c3
commit
0e3264a9f3
@ -30,6 +30,9 @@ object DiscordGuildCache {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun fetchGuilds(beforeGuildId: String? = null, limit: Int = 100): List<DiscordGuildListAPI> {
|
private suspend fun fetchGuilds(beforeGuildId: String? = null, limit: Int = 100): List<DiscordGuildListAPI> {
|
||||||
|
if(DiscordRatelimits.isLimited()) {
|
||||||
|
delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L)
|
||||||
|
}
|
||||||
val result = applicationHttpClient.get("https://discord.com/api/users/@me/guilds") {
|
val result = applicationHttpClient.get("https://discord.com/api/users/@me/guilds") {
|
||||||
headers {
|
headers {
|
||||||
append(HttpHeaders.Authorization, "Bot ${dotenv["DISCORD_TOKEN"]}")
|
append(HttpHeaders.Authorization, "Bot ${dotenv["DISCORD_TOKEN"]}")
|
||||||
@ -52,9 +55,6 @@ object DiscordGuildCache {
|
|||||||
private suspend fun fetchAllGuilds() {
|
private suspend fun fetchAllGuilds() {
|
||||||
var lastGuildId: String? = null
|
var lastGuildId: String? = null
|
||||||
while (true) {
|
while (true) {
|
||||||
if(DiscordRatelimits.isLimited()) {
|
|
||||||
delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L)
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
val guilds = fetchGuilds(lastGuildId)
|
val guilds = fetchGuilds(lastGuildId)
|
||||||
if (guilds.isEmpty()) {
|
if (guilds.isEmpty()) {
|
||||||
@ -63,7 +63,8 @@ object DiscordGuildCache {
|
|||||||
|
|
||||||
guilds.forEach {
|
guilds.forEach {
|
||||||
cache[it.id] = CachedGuilds(
|
cache[it.id] = CachedGuilds(
|
||||||
Guild(it.id, it.name, it.icon, it.banner)
|
Guild(it.id, it.name, it.icon, it.banner),
|
||||||
|
Instant.now().plusSeconds(EXP_SECONDS),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
lastGuildId = guilds.last().id
|
lastGuildId = guilds.last().id
|
||||||
@ -76,7 +77,7 @@ object DiscordGuildCache {
|
|||||||
|
|
||||||
fun addGuild(guilds: Map<String, Guild>) {
|
fun addGuild(guilds: Map<String, Guild>) {
|
||||||
cache.putAll(guilds.map {
|
cache.putAll(guilds.map {
|
||||||
it.key to CachedGuilds(it.value, Instant.now())
|
it.key to CachedGuilds(it.value, Instant.now().plusSeconds(EXP_SECONDS))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user