# This defines how big Neeble's quote "memory" is. If --rq is called, the quotes in the stack are removed from the query
stack_limit=int((count_quotes()*.25))
# When starting the bot for the first time, repetitions are going to be common. If ,after a couple hundred saved quotes, the
# bot gets restarted a lot, the stack would reset and quotes would repeat themselves a lot more. Saving the stack on disk
# prevents repeating quotes in between restarts
withopen(QUOTE_STACK,mode='r')asf:
quote_id_stack=json.load(f)
# Leaderboards must never be reset with the bot.
withopen(RQ_LEADERBOARD,mode='r')asf:
rq_leaderboard=json.load(f)
# This dictionary is used to save the last message of all users in the server, used in `on_message(message)`
# which in turn is used in `grab_quote(bot: object)`
quote_content={}
# Some commands (e.g. --roulette) cannot process two calls at the same time, comlock (or "command lock") serves as a way to make all affected commands wait.
# This MAY become a dictionary in the future, where keys are commands and values are "True" or "False"
comlock={'roulette':False
}
# Used in `roulette(bot: object)`
drum=[]
chamber=-1
# last_rq is a dictionary that keeps track of each user's --rq call; Sorting that dictionary by time everytime --rq is called _would_ be possible,
# but it would scale poorly, that's why last_rqer exists. rq_abusers is a dictionary that keeps track of how many failed --rq attempts each user has.