Compare commits

..

2 commits

8 changed files with 60 additions and 2 deletions

View file

@ -38,6 +38,7 @@ RUN set -ex; \
export DEBIAN_FRONTEND=noninteractive; \ export DEBIAN_FRONTEND=noninteractive; \
apt-get update; apt-get install --yes --no-install-recommends \ apt-get update; apt-get install --yes --no-install-recommends \
git-flow \ git-flow \
git-lfs \
; rm -rf /var/lib/apt/lists/*; ; rm -rf /var/lib/apt/lists/*;
# [Optional] Uncomment this line to install global node packages. # [Optional] Uncomment this line to install global node packages.

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
*.pdf filter=lfs diff=lfs merge=lfs -text

View file

@ -4,6 +4,7 @@ import discord
from .commands import lsstuff from .commands import lsstuff
from .post import ev_post from .post import ev_post
from .verein import ev_join, ev_linktree
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
@ -14,6 +15,8 @@ class LenaverseBot(discord.Client):
self.tree = discord.app_commands.CommandTree(self) self.tree = discord.app_commands.CommandTree(self)
self.tree.add_command(ev_post) self.tree.add_command(ev_post)
self.tree.add_command(ev_join)
self.tree.add_command(ev_linktree)
self.tree.add_command(lsstuff) self.tree.add_command(lsstuff)
async def setup_hook(self): async def setup_hook(self):

View file

@ -7,8 +7,10 @@ from pydantic import BaseModel
class Post(BaseModel): class Post(BaseModel):
channel: int # users authorized to posts
users: list[int] users: list[int]
# where to put posts
channel: int
def get_channel( def get_channel(
self, self,
@ -24,9 +26,16 @@ class Post(BaseModel):
return channel return channel
class ClubInfo(BaseModel):
linktree: str = ""
join_file: str = "Aufnahmeantrag.pdf"
join_message: str = ""
class Config(BaseModel): class Config(BaseModel):
discord_token: str discord_token: str
post: Post post: Post
ev_info: ClubInfo
@classmethod @classmethod
def get(cls) -> Self: def get(cls) -> Self:

View file

@ -106,7 +106,7 @@ async def ev_post(interaction: discord.Interaction) -> None:
else: else:
# Zugriff verweigern # Zugriff verweigern
_logger.warning( _logger.info(
f"User {interaction.user.name}({interaction.user.id}) tried to /post" f"User {interaction.user.name}({interaction.user.id}) tried to /post"
) )
await interaction.response.send_message( await interaction.response.send_message(

View file

@ -0,0 +1,40 @@
import logging
from pathlib import Path
import discord
from lenaverse_bot import __file__ as module_file
from .config import CONFIG
_logger = logging.getLogger(__name__)
def get_files_path() -> Path:
module_path = Path(module_file)
if module_path.is_file():
module_path = module_path.parent
result = module_path / "files"
assert result.is_dir()
return result
@discord.app_commands.command()
async def ev_linktree(interaction: discord.Interaction) -> None:
_logger.debug(f"User {interaction.user.name}({interaction.user.id}) used /linktree")
await interaction.response.send_message(
content=CONFIG.ev_info.linktree.strip(),
suppress_embeds=True,
)
@discord.app_commands.command()
async def ev_join(interaction: discord.Interaction) -> None:
_logger.debug(f"User {interaction.user.name}({interaction.user.id}) used /join")
await interaction.response.send_message(
content=CONFIG.ev_info.join_message.strip(),
file=discord.File(get_files_path() / CONFIG.ev_info.join_file),
)

BIN
lenaverse_bot/files/Aufnahmeantrag.pdf (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -1,6 +1,7 @@
[tool.poetry] [tool.poetry]
authors = ["Jörn-Michael Miehe <joern-michael.miehe@lenaisten.de>"] authors = ["Jörn-Michael Miehe <joern-michael.miehe@lenaisten.de>"]
description = "" description = ""
include = ["lenaverse_bot/files/*"]
name = "lenaverse_bot" name = "lenaverse_bot"
readme = "README.md" readme = "README.md"
version = "0.1.0" version = "0.1.0"