import os import platform from dotenv import load_dotenv import pathlib import discord from discord.ext import commands from discord import app_commands from discord import Colour, Embed, File, Interaction, Message from discord.abc import Messageable from discord.ext import commands import subprocess def get_git_branch(): try: branch = subprocess.check_output( ["git", "rev-parse", "--abbrev-ref", "HEAD"], stderr=subprocess.DEVNULL ).decode('utf-8').strip() return branch except subprocess.CalledProcessError: return None env_path = pathlib.Path(__file__).parent.parent / '.env' load_dotenv(dotenv_path=env_path) ANSI = "\033[" RED = f"{ANSI}31m" GREEN = f"{ANSI}32m" YELLOW = f"{ANSI}33m" PURPLE = f"{ANSI}35m" DEBUG = f"{ANSI}1;30m" RESET = f"{ANSI}0m" VERSION_URL = "https://raw.githubusercontent.com/gooberinc/version/main" UPDATE_URL = VERSION_URL+"/latest_version.json" print(UPDATE_URL) LOCAL_VERSION_FILE = "current_version.txt" TOKEN = os.getenv("DISCORDBOTTOKEN", "0") PREFIX = os.getenv("BOTPREFIX", "g.") PING_LINE = os.getenv("PINGLINE") CHECKS_DISABLED = os.getenv("CHECKSDISABLED") LOCALE = os.getenv("LOCALE", "en") gooberTOKEN = os.getenv("GOOBERTOKEN") splashtext = os.getenv("SPLASHTEXT") ownerid = int(os.getenv("OWNERID", "0")) status = os.getenv("STATUS") showmemenabled = os.getenv("SHOWMEMENABLED") BLACKLISTED_USERS = os.getenv("BLACKLISTEDUSERS", "").split(",") USERTRAIN_ENABLED = os.getenv("USERTRAINENABLED", "true").lower() == "true" NAME = os.getenv("NAME") MEMORY_FILE = "memory.json" MEMORY_LOADED_FILE = "MEMORY_LOADED" # is this still even used?? okay just checked its used in the markov module ALIVEPING = os.getenv("ALIVEPING") AUTOUPDATE = os.getenv("AUTOUPDATE") song = os.getenv("SONG") arch = platform.machine() launched = False latest_version = "0.0.0" local_version = "2.3.5" os.environ['gooberlocal_version'] = local_version REACT = os.getenv("REACT") if get_git_branch() == "dev": 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 else: beta = False # Set up Discord bot intents and create bot instance intents: discord.Intents = discord.Intents.default() intents.messages = True intents.message_content = True bot: commands.Bot = commands.Bot(command_prefix=PREFIX, intents=intents, allowed_mentions=discord.AllowedMentions(everyone=False, roles=False, users=False, replied_user=True))