mirror of
https://github.com/TheRealOwenRees/plantid-discord-bot.git
synced 2026-07-23 04:26:57 +00:00
reset request counts in rate limiter every day at midnight
This commit is contained in:
@@ -15,7 +15,7 @@ defmodule PlantIdDiscordBot.Cog.PlantNet do
|
||||
"""
|
||||
def id(interaction) do
|
||||
case RateLimiter.check_limit(interaction.guild_id) do
|
||||
{:limit_exceeded, value} ->
|
||||
{:limit_exceeded, _} ->
|
||||
@api.create_interaction_response(interaction, %{
|
||||
type: 4,
|
||||
data: %{
|
||||
|
||||
@@ -47,6 +47,15 @@ defmodule PlantIdDiscordBot.RateLimiter do
|
||||
Increase the counter for the number of requests for a guild by one.
|
||||
"""
|
||||
def increase_counter(guild_id) do
|
||||
:ets.update_counter(__MODULE__, guild_id, 1)
|
||||
case get(guild_id) do
|
||||
{:ok, _} -> :ets.update_counter(__MODULE__, guild_id, 1)
|
||||
{:error, _} -> put(guild_id, 1)
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Reset all guilds counters to 0.
|
||||
"""
|
||||
@spec reset_counters() :: :ok
|
||||
def reset_counters(), do: :ets.delete_all_objects(__MODULE__)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user