Skip to content

Commit 35adb34

Browse files
authored
Merge pull request #144 from satisfactorymodding/ci-tags
CI tagging
2 parents 0c0a6d2 + 79a8ab0 commit 35adb34

File tree

8 files changed

+52
-14
lines changed

8 files changed

+52
-14
lines changed

.github/workflows/docker-publish.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,17 @@ name: Docker
88
on:
99
workflow_dispatch:
1010
push:
11-
branches: [ master ]
11+
branches:
12+
- "master"
1213
# Publish semver tags as releases.
13-
tags: [ 'v*.*.*' ]
14+
tags:
15+
- "v*"
16+
pull_request:
17+
branches:
18+
- "master"
19+
- "dev"
20+
tags:
21+
- "v*"
1422

1523
env:
1624
REGISTRY: ghcr.io
@@ -27,22 +35,23 @@ jobs:
2735
uses: actions/checkout@v4
2836

2937
- name: Log into registry ${{ env.REGISTRY }}
30-
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
38+
uses: docker/login-action@v3
3139
with:
3240
registry: ${{ env.REGISTRY }}
3341
username: ${{ github.actor }}
3442
password: ${{ secrets.GITHUB_TOKEN }}
3543

3644
- name: Extract Docker metadata
3745
id: meta
38-
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
46+
uses: docker/metadata-action@v5
3947
with:
4048
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
4149

50+
4251
- uses: docker/setup-buildx-action@v3
4352

4453
- name: Build and push Docker image
45-
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
54+
uses: docker/build-push-action@v6
4655
with:
4756
context: .
4857
file: ./docker/Dockerfile

fred/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
from dotenv import load_dotenv
55

6+
load_dotenv()
7+
68
logging.root = logging.getLogger("FRED")
79
logging.basicConfig(level=getenv("FRED_LOG_LEVEL", logging.DEBUG))
810

911
from .fred import __version__ # noqa
1012

11-
logging.root.debug(f"HELLO WORLD!!! FRED version: {__version__}")
12-
1313
ENVVARS = (
1414
"FRED_IP",
1515
"FRED_PORT",
@@ -22,8 +22,6 @@
2222
# "DIALOGFLOW_AUTH",
2323
)
2424

25-
load_dotenv()
26-
2725
for var in ENVVARS:
2826
if getenv(var) is None:
2927
raise EnvironmentError(f"The ENV variable '{var}' isn't set")

fred/cogs/welcome.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ async def on_member_join(self, member: Member):
1010

1111
self.logger.info("Processing a member joining", extra=common.user_info(member))
1212

13+
await self.send_welcome_message(member)
14+
15+
async def send_welcome_message(self, member: Member):
1316
if welcome := config.Misc.fetch("welcome_message"):
1417
self.logger.info("Sending the welcome message to a new member", extra=common.user_info(member))
1518
await self.bot.send_DM(member, welcome)

fred/fred.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import time
66
import traceback
77
from concurrent.futures import ThreadPoolExecutor
8+
from importlib.metadata import version
89
from os import getenv
910
from typing import Optional
1011

@@ -18,7 +19,7 @@
1819
from .fred_commands import Commands, FredHelpEmbed
1920
from .libraries import createembed, common
2021

21-
__version__ = "2.22.7"
22+
__version__ = version("fred")
2223

2324

2425
class Bot(commands.Bot):
@@ -40,10 +41,11 @@ def __init__(self, *args, **kwargs):
4041
super().__init__(*args, **kwargs)
4142
self.isReady = False
4243
self.logger = common.new_logger(self.__class__.__name__)
44+
self.version = __version__
45+
self.logger.info(f"Starting Fred v{self.version}")
4346
self.setup_DB()
4447
self.command_prefix = config.Misc.fetch("prefix")
4548
self.setup_cogs()
46-
self.version = __version__
4749
FredHelpEmbed.setup()
4850
self.owo = False
4951
self.web_session: aiohttp.ClientSession = ...
@@ -118,6 +120,10 @@ def Crashes(self) -> crashes.Crashes:
118120
def DialogFlow(self) -> dialogflow.DialogFlow:
119121
return self.get_cog("DialogFlow") # noqa
120122

123+
@property
124+
def Welcome(self) -> welcome.Welcome:
125+
return self.get_cog("Welcome") # noqa
126+
121127
async def on_error(self, event_method: str, *args, **kwargs):
122128
exc_type, value, tb = sys.exc_info()
123129
if event_method == "on_message":

fred/fred_commands/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
import nextcord
1212
from algoliasearch.search_client import SearchClient
13-
from nextcord import Attachment
1413
from nextcord.ext.commands.view import StringView
1514

1615
from ._baseclass import BaseCmds, common, config, commands

fred/fred_commands/_baseclass.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,16 @@ async def modify(self, ctx: commands.Context):
6767
await self.bot.reply_to_msg(ctx.message, "Invalid sub command passed...")
6868
return
6969

70+
@commands.group()
71+
@commands.check(common.l4_only)
72+
async def get(self, ctx: commands.Context):
73+
"""Usage: `get (subcommand) [args]`
74+
Purpose: Gets something (duh). Check individual subcommands for specifics.
75+
Notes: Limited to permission level 4 and above."""
76+
if ctx.invoked_subcommand is None:
77+
await self.bot.reply_to_msg(ctx.message, "Invalid sub command passed...")
78+
return
79+
7080

7181
class SearchFlags(commands.FlagConverter, delimiter="=", prefix="-"):
7282
column: str = "name"

fred/fred_commands/bot_meta.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING
4+
15
from ._baseclass import BaseCmds, commands, config, common
26

7+
if TYPE_CHECKING:
8+
from ..fred import Bot
9+
310

411
class BotCmds(BaseCmds):
512

@@ -34,6 +41,11 @@ async def set_latest_info(self, ctx: commands.Context, latest_info: str):
3441
config.Misc.change("latest_info", latest_info)
3542
await self.bot.reply_to_msg(ctx.message, "The latest info message has been changed!")
3643

44+
@BaseCmds.get.command(name="welcome")
45+
async def get_welcome(self, ctx: commands.Context):
46+
bot: Bot = ctx.bot
47+
await bot.Welcome.send_welcome_message(ctx.author)
48+
3749
@commands.check(common.mod_only)
3850
@BaseCmds.set.command(name="main_guild")
3951
async def set_main_guild(self, ctx: commands.Context, guild_id: int = None):
@@ -56,10 +68,11 @@ async def prefix(self, ctx: commands.Context, *, prefix: str):
5668
await self.bot.reply_to_msg(ctx.message, f"Prefix changed to {prefix}.")
5769

5870
@BaseCmds.set.command(name="owo")
71+
@commands.check(common.mod_only)
5972
async def owo(self, ctx: commands.Context):
6073
"""Usage: `set owo`
6174
Purpose: toggle owo
62-
Notes: owo what's this? you need to be engineer or above to use this"""
75+
Notes: owo what's this? you need to be a mod to use this :3"""
6376
self.bot.owo = not self.bot.owo
6477
await ctx.reply("OwO" if self.bot.owo else "no owo :(")
6578

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "fred"
3-
version = "2.22.7"
3+
version = "2.22.8"
44
description = "A Discord bot for the Satisfactory Modding Discord "
55
authors = ["Feyko <feykook@gmail.com>", "Mircea Roata <mircearoatapalade@yahoo.ro>", "Borketh <does.not.kompute@gmail.com>"]
66
license = "MIT License"

0 commit comments

Comments
 (0)