Cleanup edits for 2.1
This commit is contained in:
18
Makefile
18
Makefile
@@ -1,18 +0,0 @@
|
||||
init:
|
||||
pip install -r requirements.txt
|
||||
|
||||
install:
|
||||
mkdir logs
|
||||
cp jeevesbot/env.py.dist jeevesbot/env.py
|
||||
cp jeevesbot/secret.json.dist jeevesbot/secret.json
|
||||
|
||||
clearlog:
|
||||
rm logs/jeeves.log*
|
||||
|
||||
clean:
|
||||
rm logs/jeeves.log*
|
||||
rm jeevesbot/env.py
|
||||
rm jeevesbot/secret.json
|
||||
rm -rf cogs/__pycache__/
|
||||
rm -rf jeevesbot/__pycache__/
|
||||
rm -rf __pycache__/
|
||||
@@ -1 +1,10 @@
|
||||
# discord-jeeves
|
||||
|
||||
## Installation
|
||||
- Clone this repository to a directory you want the bot to run from
|
||||
- `pip3 install -r requirements.txt`
|
||||
- Copy `jeevesbot/env.py.dist` to `jeevesbot/env.py` and change the variables.
|
||||
- Copy `jeevesbot/secret.json.dist` to `jeevesbot/secret.json` and add your Google Drive API secret.json
|
||||
- `cp scripts/jeeves.service /etc/systemd/system/jeeves.service` and change the variables to suit your environment.
|
||||
- `systemctl daemon-reload`
|
||||
- `systemctl start jeeves.service`
|
||||
@@ -9,9 +9,6 @@ from discord import User, errors, TextChannel, Forbidden
|
||||
log = getLogger(__name__)
|
||||
|
||||
|
||||
embed = discord.Embed()
|
||||
|
||||
|
||||
class Admin(commands.Cog):
|
||||
""" Admin Commands, Use at own risk. """
|
||||
def __init__(self, bot):
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
from logging import getLogger
|
||||
from jeevesbot import env
|
||||
|
||||
# setup logging
|
||||
log = getLogger(__name__)
|
||||
e = discord.Embed()
|
||||
|
||||
|
||||
class Flair(commands.Cog):
|
||||
""" This part of the bot is responsible for giving users roles! """
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
self.message_id = 1084937456819908679
|
||||
self.reactions = {
|
||||
'1️⃣' : env.FLAIRROLES[0],
|
||||
'2️⃣' : env.FLAIRROLES[1],
|
||||
'3️⃣' : env.FLAIRROLES[2],
|
||||
'4️⃣' : env.FLAIRROLES[3],
|
||||
'5️⃣' : env.FLAIRROLES[4],
|
||||
'6️⃣' : env.FLAIRROLES[5],
|
||||
'👍' : env.FLAIRROLES[6],
|
||||
'👎' : env.FLAIRROLES[7],
|
||||
'🔞' : env.FLAIRROLES[8],
|
||||
}
|
||||
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_raw_reaction_add(self, payload):
|
||||
try:
|
||||
if payload.message_id == self.message_id and str(payload.emoji) in self.reactions:
|
||||
guild = self.bot.get_guild(payload.guild_id)
|
||||
member = guild.get_member(payload.user_id)
|
||||
role_id = self.reactions[str(payload.emoji)]
|
||||
role = guild.get_role(role_id)
|
||||
flairrole = guild.get_role(env.FLAIRROLE[0])
|
||||
await member.add_roles(flairrole)
|
||||
await member.add_roles(role)
|
||||
log.info(f'Added role "{role}" to {member}')
|
||||
except:
|
||||
log.debug("Reaction not found.")
|
||||
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_raw_reaction_remove(self, payload):
|
||||
try:
|
||||
if payload.message_id == self.message_id and str(payload.emoji) in self.reactions:
|
||||
guild = self.bot.get_guild(payload.guild_id)
|
||||
member = guild.get_member(payload.user_id)
|
||||
role_id = self.reactions[str(payload.emoji)]
|
||||
role = guild.get_role(role_id)
|
||||
await member.remove_roles(role)
|
||||
log.info(f'Removed role "{role}" from {member}')
|
||||
except:
|
||||
log.debug("Could not remove role")
|
||||
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_ready(self):
|
||||
log.info(f'module active')
|
||||
|
||||
|
||||
async def setup(bot):
|
||||
await bot.add_cog(Flair(bot))
|
||||
@@ -1,63 +0,0 @@
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
from logging import getLogger
|
||||
from jeevesbot import env
|
||||
|
||||
|
||||
# setup logging
|
||||
log = getLogger(__name__)
|
||||
|
||||
embed = discord.Embed()
|
||||
|
||||
class BotSetup(commands.Cog):
|
||||
""" Admin Commands, Use at own risk. """
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
self.botchannel = int(env.BOTCHANNEL[0])
|
||||
|
||||
|
||||
@commands.command(hidden=True)
|
||||
@commands.is_owner()
|
||||
async def flairsetup(self, ctx):
|
||||
""" Setup reaction post as embed. """
|
||||
await ctx.message.delete()
|
||||
channel_id = ctx.channel.id
|
||||
if (channel_id) == (self.botchannel):
|
||||
embed = discord.Embed(title="Kies je rollen!",
|
||||
description="Klik op de emoji onder het bericht om de rol te krijgen.")
|
||||
embed.add_field(name="", value="", inline=False)
|
||||
embed.add_field(name="Voornaamwoorden:", value="", inline=False)
|
||||
embed.add_field(name=":one:", value="hij/hem")
|
||||
embed.add_field(name=":two:", value="zij/haar")
|
||||
embed.add_field(name=":three:", value="hen/hun")
|
||||
embed.add_field(name=":four:", value="die/hun")
|
||||
embed.add_field(name=":five:", value="die/diens")
|
||||
embed.add_field(name=":six:", value="iedere/all")
|
||||
embed.add_field(name="Sta je open voor Direct Messages van andere serverleden?", value="", inline=False)
|
||||
embed.add_field(name=":thumbsup:", value="DM: ja")
|
||||
embed.add_field(name=":thumbsdown:", value="DM: nee")
|
||||
embed.add_field(name="Rollen voor toegang tot opt-in kanalen.", value="", inline=False)
|
||||
embed.add_field(name=":underage:", value="serieuze-onderwerpen")
|
||||
embed.set_footer(text="Mis je een voornaamwoord of heb je ideeën voor een andere rol? Laat het de mods weten in de #ideeënbus!\nJe kan zelf je rollen verwijderen door opnieuw op de emoji te drukken.")
|
||||
message = await ctx.send(embed=embed)
|
||||
await message.add_reaction("1️⃣")
|
||||
await message.add_reaction("2️⃣")
|
||||
await message.add_reaction("3️⃣")
|
||||
await message.add_reaction("4️⃣")
|
||||
await message.add_reaction("5️⃣")
|
||||
await message.add_reaction("6️⃣")
|
||||
await message.add_reaction("👍")
|
||||
await message.add_reaction("👎")
|
||||
await message.add_reaction("🔞")
|
||||
log.warn(f'{ctx.message.author} reset the flair embed, new message_id = {message.id}')
|
||||
else:
|
||||
log.warn(f'{ctx.message.author} tried setting up the flair in the wrong channel')
|
||||
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_ready(self):
|
||||
log.info(f'module active')
|
||||
|
||||
|
||||
async def setup(bot):
|
||||
await bot.add_cog(BotSetup(bot))
|
||||
@@ -14,9 +14,4 @@ All purge commands also delete their own message.
|
||||
|
||||
---
|
||||
|
||||
`!flairsetup`
|
||||
Can be used to reset the flair embed for Jeeves. Needs manual steps to fix the bot giving out roles. Don't use unless you know what you're doing.
|
||||
|
||||
---
|
||||
|
||||
*To easily copy IDs of discord items, turn on Developer Mode in Advanced settings in your profile. After this, you can right click on almost all items in discord to get the "Copy ID" option.*
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
** GIFs **
|
||||
** Flair **
|
||||
|
||||
** Extra informatie voor het !roll commando **
|
||||
|
||||
|
||||
12
scripts/jeeves.service
Normal file
12
scripts/jeeves.service
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Jeeves Discord Bot
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=<username>
|
||||
WorkingDirectory=/path/to/bot/directory
|
||||
ExecStart=/usr/bin/python3 /path/to/bot/directory/bot.py
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user