Browse Source

JoinLeave added. Not much work. Mostly a simple copypaste job

tags/v1.0.0
roxie 6 years ago
parent
commit
4b3e6324b4
2 changed files with 52 additions and 0 deletions
  1. +43
    -0
      cogs/joinleave.py
  2. +9
    -0
      cogs/selfassign.py

+ 43
- 0
cogs/joinleave.py View File

@@ -0,0 +1,43 @@
import discord
from config.server_config import ServerConfig


class JoinLeave():
def __init__(self, Bot):
self.bot = Bot
self.con = ServerConfig()
self.servers = self.con.servers

async def on_member_join(self, member):
"""
Greets users when they join a server.
"""
self.con.load_config()
if not self.servers[member.server.id]["greets"]["enabled"]:
return
if self.servers[member.server.id]["greets"]["custom-message"]:
message = self.servers[member.server.id]["greets"]["custom-message"]
else:
message = self.servers[member.server.id]["greets"]["default-message"]
# TODO: Maybe thumbnail for the embed
em = discord.Embed(
title="Welcome to {}!".format(member.server),
description='Hey {}! Welcome to **{}**! {}'.format(member.mention, member.server, message),
colour=0xDEADBF)

if self.servers[member.server.id]["greets"]["welcome-channel"]:
channel = discord.Object(self.servers[member.server.id]["greets"]["welcome-channel"])
else:
channel = member.server.default_channel
return await self.bot.send_message(channel,embed=em)

async def on_member_remove(self, member):
self.con.load_config()
if not self.servers[member.server.id]["goodbyes"]["enabled"]:
return
else:
return await self.bot.send_message(member.server,embed=discord.Embed(
description="{}#{} has left or been beaned.".format(member.name, member.discriminator), colour=0xDEADBF))

def setup(Bot):
Bot.add_cog(JoinLeave(Bot))

+ 9
- 0
cogs/selfassign.py View File

@@ -89,6 +89,9 @@ class SelfAssign():
@commands.command(pass_context=True, hidden=True)
@checks.is_bot_owner()
async def addrole(self, ctx, role: discord.Role = None):
"""
] Adds a role to the list of roles that can be self assigned for that server.
"""
self.servers = self.con.load_config()
if role.id in self.servers[ctx.message.server.id]["selfAssign"]["roles"]:
return await self.bot.say("{} is already a self-assignable role.".format(role.name), delete_after=self.con.delete_after)
@@ -100,6 +103,12 @@ class SelfAssign():
@commands.command(pass_context=True, hidden=True)
@checks.is_bot_owner()
async def removerole(self, ctx, role: discord.Role = None):
"""
Removes a role from the list of self assignable roles for that server.
:param ctx:
:param role:
:return:
"""
self.servers = self.con.load_config()
if role.id in self.servers[ctx.message.server.id]["selfAssign"]["roles"]:
self.servers[ctx.message.server.id]["selfAssign"]["roles"].remove(role.id)

Loading…
Cancel
Save