Merge pull request #16 from gooberinc/dev

the death of central
This commit is contained in:
WhatDidYouExpect 2025-07-15 23:57:09 +02:00 committed by GitHub
commit 7effd1fa3a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 72 additions and 9 deletions

57
assets/cogs/eightball.py Normal file
View file

@ -0,0 +1,57 @@
import random
import discord
from discord.ext import commands
class eightball(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def eightball(self, ctx):
answer = random.randint(1, 20)
text = "Nothing"
if answer==1:
text = "It is certain."
elif answer==2:
text = "It is decidedly so."
elif answer==3:
text = "Without a doubt."
elif answer==4:
text = "Yes definitely."
elif answer==5:
text = "You may rely on it."
elif answer==6:
text = "As I see it, yes."
elif answer==7:
text = "Most likely."
elif answer==8:
text = "Outlook good."
elif answer==9:
text = "Yes."
elif answer==10:
text = "Signs point to yes."
elif answer==11:
text = "Reply hazy, try again."
elif answer==12:
text = "Ask again later."
elif answer==13:
text = "Better not tell you now."
elif answer==14:
text = "Cannot predict now."
elif answer==15:
text = "Concentrate and ask again."
elif answer==16:
text = "Don't count on it."
elif answer==17:
text = "My reply is no."
elif answer==18:
text = "My sources say no."
elif answer==19:
text = "Outlook not so good."
elif answer==20:
text = "Very doubtful."
await ctx.send(text)
async def setup(bot):
await bot.add_cog(eightball(bot))

View file

@ -13,8 +13,9 @@ YELLOW = f"{ANSI}33m"
PURPLE = f"{ANSI}35m" PURPLE = f"{ANSI}35m"
DEBUG = f"{ANSI}1;30m" DEBUG = f"{ANSI}1;30m"
RESET = f"{ANSI}0m" RESET = f"{ANSI}0m"
VERSION_URL = "https://goober.expect.ovh" VERSION_URL = "https://raw.githubusercontent.com/gooberinc/version/main"
UPDATE_URL = VERSION_URL+"/latest_version.json" UPDATE_URL = VERSION_URL+"/latest_version.json"
print(UPDATE_URL)
LOCAL_VERSION_FILE = "current_version.txt" LOCAL_VERSION_FILE = "current_version.txt"
TOKEN = os.getenv("DISCORDBOTTOKEN", "0") TOKEN = os.getenv("DISCORDBOTTOKEN", "0")
PREFIX = os.getenv("BOTPREFIX", "g.") PREFIX = os.getenv("BOTPREFIX", "g.")
@ -38,8 +39,8 @@ arch = platform.machine()
slash_commands_enabled = True # 100% broken, its a newer enough version so its probably enabled by default.... fix this at somepoint or hard code it in goober central code slash_commands_enabled = True # 100% broken, its a newer enough version so its probably enabled by default.... fix this at somepoint or hard code it in goober central code
launched = False launched = False
latest_version = "0.0.0" latest_version = "0.0.0"
local_version = "2.2.0" local_version = "2.3.0"
os.environ['gooberlocal_version'] = local_version os.environ['gooberlocal_version'] = local_version
REACT = os.getenv("REACT") REACT = os.getenv("REACT")
beta = False # this makes goober think its a beta version, so it will not update to the latest stable version or run any version checks beta = True # this makes goober think its a beta version, so it will not update to the latest stable version or run any version checks

View file

@ -4,6 +4,7 @@ import requests
import subprocess import subprocess
import sys import sys
import logging import logging
import json
logger = logging.getLogger("goober") logger = logging.getLogger("goober")
launched = False launched = False
@ -34,17 +35,21 @@ def auto_update(branch='main', remote='origin'):
else: else:
logger.info(_( "local_ahead").format(remote=remote, branch=branch)) logger.info(_( "local_ahead").format(remote=remote, branch=branch))
# Fetch the latest version info from the update server
def get_latest_version_info(): def get_latest_version_info():
try: try:
response = requests.get(UPDATE_URL, timeout=5) response = requests.get(UPDATE_URL, timeout=5)
if response.status_code == 200: if response.status_code == 200:
return response.json() # Try parsing JSON manually, so i dont have to maintain goober central anymore
try:
return response.json()
except json.JSONDecodeError:
logger.error(f"{RED}{_('version_error')} JSON decode failed{RESET}")
return None
else: else:
logger.error(f"{RED}{_( 'version_error')} {response.status_code}{RESET}") logger.error(f"{RED}{_('version_error')} {response.status_code}{RESET}")
return None return None
except requests.RequestException as e: except requests.RequestException as e:
logger.error(f"{RED}{_( 'version_error')} {e}{RESET}") logger.error(f"{RED}{_('version_error')} {e}{RESET}")
return None return None
# Check if an update is available and perform update if needed # Check if an update is available and perform update if needed
@ -63,7 +68,7 @@ def check_for_update():
download_url = latest_version_info.get("download_url") download_url = latest_version_info.get("download_url")
if not latest_version or not download_url: if not latest_version or not download_url:
logger.error(f"{RED}{_(LOCALE, 'invalid_server')}{RESET}") logger.error(f"{RED}{_('invalid_server')}{RESET}")
return None, None return None, None
# Check if local_version is valid # Check if local_version is valid