0.1.0 initial commit

This commit is contained in:
Yusur 2026-01-01 11:00:46 +01:00
commit 0e07431c02
5 changed files with 105 additions and 0 deletions

26
.gitignore vendored Normal file
View file

@ -0,0 +1,26 @@
node_modules/
__pycache__/
**.pyc
**.pyo
**.egg-info
**~
.*.swp
\#*\#
.\#*
alembic.ini
.env
.env.*
.venv
env
venv
venv-*/
config/
conf/
config.json
data/
build/
dist/
/target
.err
.vscode
/run.sh

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# Yusurland '26 Bot
Bot of the Yusurland '26 Discord server.

17
pyproject.toml Normal file
View file

@ -0,0 +1,17 @@
[project]
name = "sakuragasaki46_yus26b"
authors = [ { name = "Sakuragasaki46" } ]
dynamic = [ "version" ]
requires-python = ">=3.10"
classifiers = [
"Private :: X"
]
dependencies = [
"py-cord>=2.7.0",
"suou>=0.11.0",
"python-dotenv>=1.1.0"
]
[tool.setuptools.dynamic]
version = { attr = "yus26b.__version__" }

55
src/yus26b/__init__.py Normal file
View file

@ -0,0 +1,55 @@
from suou import ConfigValue, ConfigOptions
import dotenv
import discord
import logging
import argparse
__version__ = "0.1.0"
dotenv.load_dotenv()
class AppConfig(ConfigOptions):
token = ConfigValue(required=True)
client_id = ConfigValue(required=True)
app_config = AppConfig()
# TODO make it configurable
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
bot = discord.Bot()
bot.auto_sync_commands = False
@bot.event
async def on_ready():
logger.info(f"Logged in as {bot.user}")
@bot.slash_command(
name = "version",
description = "Print bot's version."
)
async def version(ctx: discord.ApplicationContext):
await ctx.respond(
f"""
* **Bot Version**: {__version__}
* **Pycord Version**: {discord.__version__}
""".strip()
)
def make_parser():
parser = argparse.ArgumentParser(description = "Yusurland '26's bot")
parser.add_argument('-v', '--version', action = 'version', version = __version__)
parser.add_argument('-s', '--sync', action='store_true', help="sync bot commands")
return parser
def main():
args = make_parser().parse_args()
if args.sync:
logger.info('Syncing bot commands')
bot.auto_sync_commands = True
bot.run(app_config.token)

4
src/yus26b/__main__.py Normal file
View file

@ -0,0 +1,4 @@
from . import main
main()