diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..1b31e3b --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,31 @@ +name: Build Docker +run-name: Build Docker Image +on: [push] + +jobs: + Build Docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install Docker + run : | + apt-get install ca-certificates curl gnupg + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg + chmod a+r /etc/apt/keyrings/docker.gpg + echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null + apt-get update + apt-get install docker-ce-cli -y + - name: Build Docker image + run : | + echo "${{ secrets.DOCKERGIT_TOKEN }}" | docker login git.woodburn.au -u nathanwoodburn --password-stdin + tag_num=$(git rev-parse --short HEAD) + docker build -t woodburn-bot:$tag_num . + docker tag woodburn-bot:$tag_num git.woodburn.au/nathanwoodburn/woodburn-bot:$tag_num + docker push git.woodburn.au/nathanwoodburn/woodburn-bot:$tag_num + docker tag woodburn-bot:$tag_num git.woodburn.au/nathanwoodburn/woodburn-bot:latest + docker push git.woodburn.au/nathanwoodburn/woodburn-bot:latest + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..963a057 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +.env diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a225ff3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM python:3.10-bullseye +COPY requirements.txt /app/ +WORKDIR /app +RUN pip install -r requirements.txt +COPY . . +CMD ["python3", "bot.py"] \ No newline at end of file diff --git a/bot.py b/bot.py new file mode 100644 index 0000000..8748b81 --- /dev/null +++ b/bot.py @@ -0,0 +1,40 @@ +import os +from dotenv import load_dotenv +import discord +from discord import app_commands + + +load_dotenv() +TOKEN = os.getenv('DISCORD_TOKEN') + +intents = discord.Intents.default() +client = discord.Client(intents=intents) +tree = app_commands.CommandTree(client) + +# Commands +@tree.command(name="ping", description="Check bot connection") +async def ping(ctx): + await ctx.response.send_message("Pong!",ephemeral=True) + + + + + + + + + + + +def updateStatus(): + activity = discord.Activity(name="Nathan try to get set me up", type=discord.ActivityType.watching) + client.loop.create_task(client.change_presence(activity=activity)) + +# When the bot is ready +@client.event +async def on_ready(): + await tree.sync() + print("Ready!") + updateStatus() + +client.run(TOKEN) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..95004ae --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +discord.py +python-dotenv \ No newline at end of file