Initial commit: Discord automation tools

This commit is contained in:
2026-01-27 10:13:41 +01:00
commit 7f5d3c2ca7
41 changed files with 983407 additions and 0 deletions

57
scripts/status_updater.py Executable file
View File

@@ -0,0 +1,57 @@
# discord_tools/scripts/status_updater.py
import os
import sys
import time
import datetime
# Add the parent directory to the Python path
script_dir = os.path.dirname(os.path.abspath(__file__))
project_root = os.path.dirname(os.path.dirname(script_dir))
sys.path.insert(0, project_root)
from discord_tools.config.settings import DEFAULT_STATUS_UPDATE_INTERVAL
from discord_tools.utils.api_utils import make_discord_request
def update_status(start_datetime):
"""
Update the Discord status with the time elapsed since start_datetime.
:param start_datetime: The datetime to calculate the elapsed time from
:return: True if the status was updated successfully, False otherwise
"""
now = datetime.datetime.now()
time_diff = now - start_datetime
days = time_diff.days
hours, remainder = divmod(time_diff.seconds, 3600)
minutes, _ = divmod(remainder, 60)
status_text = f"{days} days, {hours} hours, {minutes} minutes"
payload = {
"custom_status": {
"text": status_text
}
}
response = make_discord_request('PATCH', '/users/@me/settings', json=payload)
return response is not None
def main():
start_date = datetime.datetime(2024, 2, 24, 3, 43)
update_interval = DEFAULT_STATUS_UPDATE_INTERVAL
print(f"Starting status updater. Press Ctrl+C to exit.")
try:
while True:
if update_status(start_date):
print(f"Status updated successfully at {datetime.datetime.now()}")
else:
print("Failed to update status")
time.sleep(update_interval)
except KeyboardInterrupt:
print("\nStatus updater stopped.")
if __name__ == "__main__":
main()