Compare commits
2 commits
59ce255fda
...
13dcddb135
Author | SHA1 | Date | |
---|---|---|---|
13dcddb135 | |||
26a48cce46 |
8 changed files with 60 additions and 2 deletions
|
@ -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
1
.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
|
@ -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):
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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(
|
||||||
|
|
40
lenaverse_bot/core/verein.py
Normal file
40
lenaverse_bot/core/verein.py
Normal 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
BIN
lenaverse_bot/files/Aufnahmeantrag.pdf
(Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -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"
|
||||||
|
|
Loading…
Reference in a new issue