1
|
|
|
import discord |
2
|
|
|
from discord.ext import commands |
3
|
|
|
from discord_slash import cog_ext, SlashContext |
4
|
|
|
|
5
|
|
|
import cogs.cogbase as cogbase |
6
|
|
|
|
7
|
|
|
|
8
|
|
|
class ChannelUpCog(cogbase.BaseCog): |
9
|
|
|
def __init__(self, base): |
10
|
|
|
super().__init__(base) |
11
|
|
|
|
12
|
|
|
# CHANNEL NAMES UPDATES |
13
|
|
|
# Total member channel name |
14
|
|
|
@cog_ext.cog_slash(name="updateTotalMembers", guild_ids=cogbase.GUILD_IDS, |
15
|
|
|
description="Update total number of members", |
16
|
|
|
default_permission=False, |
17
|
|
|
permissions=cogbase.PERMISSION_MODS) |
18
|
|
|
async def update_member_count_command(self, ctx: SlashContext) -> None: |
19
|
|
|
await self.bot.update_member_count(ctx) |
20
|
|
|
await ctx.send("Total Members count updated", hidden=True) |
21
|
|
|
|
22
|
|
|
# Commons channel name |
23
|
|
|
@cog_ext.cog_slash(name="updateCommons", guild_ids=cogbase.GUILD_IDS, |
24
|
|
|
description="Update common channel name", |
25
|
|
|
default_permission=False, |
26
|
|
|
permissions=cogbase.PERMISSION_MODS) |
27
|
|
|
async def update_common_ch_name(self, ctx: SlashContext) -> None: |
28
|
|
|
with open('./server_files/commons.txt') as f: |
29
|
|
|
try: |
30
|
|
|
commons = f.read().splitlines() |
31
|
|
|
except ValueError: |
32
|
|
|
print(ValueError) |
33
|
|
|
|
34
|
|
|
await self.update_commons_ch(ctx, commons) |
35
|
|
|
|
36
|
|
|
commons.append(commons.pop(commons.index(commons[0]))) |
37
|
|
|
with open('./server_files/commons.txt', 'w') as f: |
38
|
|
|
for item in commons: |
39
|
|
|
f.write("%s\n" % item) |
40
|
|
|
|
41
|
|
|
async def update_commons_ch(self, ctx: SlashContext, commons) -> None: |
42
|
|
|
await ctx.defer() |
43
|
|
|
new_name = f"common {commons[0]}" |
44
|
|
|
common_ch = self.bot.get_channel(self.bot.ch_common) |
45
|
|
|
await discord.TextChannel.edit(common_ch, name=new_name) |
46
|
|
|
self.create_log_msg(f"Common channel name updated: {commons[0]}") |
47
|
|
|
await common_ch.send(f"Common changed: **{commons[0]}**") |
48
|
|
|
|
49
|
|
|
# N-Word spotted channel name |
50
|
|
|
# Doesn't work if used too many times in a short period of time |
51
|
|
|
@cog_ext.cog_slash(name="nightmareStatus", guild_ids=cogbase.GUILD_IDS, |
52
|
|
|
description="Change Nightmare status channel name", |
53
|
|
|
default_permission=False, |
54
|
|
|
permissions=cogbase.PERMISSION_ADMINS) |
55
|
|
|
async def rename_nightmare_channel(self, ctx: SlashContext, status: str) -> None: |
56
|
|
|
new_status = status |
57
|
|
|
channel = self.bot.get_channel(self.bot.ch_nightmare_killed) |
58
|
|
|
if new_status in channel.name: |
59
|
|
|
await ctx.send(f"{channel.name} has been changed", hidden=True) |
60
|
|
|
else: |
61
|
|
|
await discord.VoiceChannel.edit(channel, name=f"N-Word fixed: {new_status}") |
62
|
|
|
await ctx.send(f"{channel.name} channel name has been changed", hidden=True) |
63
|
|
|
|
64
|
|
|
|
65
|
|
|
def setup(bot: commands.Bot) -> None: |
66
|
|
|
bot.add_cog(ChannelUpCog(bot)) |
67
|
|
|
|