Compare commits
14 Commits
conquest_d
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0aaffbf5f0 | ||
![]() |
771d1457e5 | ||
![]() |
d191abf6bd | ||
![]() |
aba9840bcb | ||
![]() |
0064e6e9b5 | ||
![]() |
955624ad1a | ||
![]() |
a6e0646b85 | ||
![]() |
269266ce04 | ||
![]() |
db3ce30122 | ||
![]() |
a7ce815e14 | ||
![]() |
b331238c1c | ||
![]() |
1ffac638ed | ||
![]() |
5b75002c88 | ||
![]() |
7c08a5de0c |
@ -3,6 +3,7 @@ import logging
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
import discord
|
import discord
|
||||||
|
from discord.ext.commands import RoleConverter, Greedy, CommandError, ArgumentParsingError
|
||||||
from discord.ext.commands.view import StringView
|
from discord.ext.commands.view import StringView
|
||||||
from redbot.core import Config, checks, commands
|
from redbot.core import Config, checks, commands
|
||||||
from redbot.core.bot import Red
|
from redbot.core.bot import Red
|
||||||
@ -13,15 +14,38 @@ log = logging.getLogger("red.fox_v3.ccrole")
|
|||||||
|
|
||||||
|
|
||||||
async def _get_roles_from_content(ctx, content):
|
async def _get_roles_from_content(ctx, content):
|
||||||
content_list = content.split(",")
|
# greedy = Greedy[RoleConverter]
|
||||||
try:
|
view = StringView(content)
|
||||||
role_list = [
|
rc = RoleConverter()
|
||||||
discord.utils.get(ctx.guild.roles, name=role.strip(" ")).id for role in content_list
|
|
||||||
]
|
# "Borrowed" from discord.ext.commands.Command._transform_greedy_pos
|
||||||
except (discord.HTTPException, AttributeError): # None.id is attribute error
|
result = []
|
||||||
return None
|
while not view.eof:
|
||||||
else:
|
# for use with a manual undo
|
||||||
return role_list
|
previous = view.index
|
||||||
|
|
||||||
|
view.skip_ws()
|
||||||
|
try:
|
||||||
|
argument = view.get_quoted_word()
|
||||||
|
value = await rc.convert(ctx, argument)
|
||||||
|
except (CommandError, ArgumentParsingError):
|
||||||
|
view.index = previous
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
result.append(value)
|
||||||
|
|
||||||
|
return [r.id for r in result]
|
||||||
|
|
||||||
|
# Old method
|
||||||
|
# content_list = content.split(",")
|
||||||
|
# try:
|
||||||
|
# role_list = [
|
||||||
|
# discord.utils.get(ctx.guild.roles, name=role.strip(" ")).id for role in content_list
|
||||||
|
# ]
|
||||||
|
# except (discord.HTTPException, AttributeError): # None.id is attribute error
|
||||||
|
# return None
|
||||||
|
# else:
|
||||||
|
# return role_list
|
||||||
|
|
||||||
|
|
||||||
class CCRole(commands.Cog):
|
class CCRole(commands.Cog):
|
||||||
@ -84,7 +108,7 @@ class CCRole(commands.Cog):
|
|||||||
|
|
||||||
# Roles to add
|
# Roles to add
|
||||||
await ctx.send(
|
await ctx.send(
|
||||||
"What roles should it add? (Must be **comma separated**)\n"
|
"What roles should it add?\n"
|
||||||
"Say `None` to skip adding roles"
|
"Say `None` to skip adding roles"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -106,7 +130,7 @@ class CCRole(commands.Cog):
|
|||||||
|
|
||||||
# Roles to remove
|
# Roles to remove
|
||||||
await ctx.send(
|
await ctx.send(
|
||||||
"What roles should it remove? (Must be comma separated)\n"
|
"What roles should it remove?\n"
|
||||||
"Say `None` to skip removing roles"
|
"Say `None` to skip removing roles"
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
@ -124,7 +148,7 @@ class CCRole(commands.Cog):
|
|||||||
|
|
||||||
# Roles to use
|
# Roles to use
|
||||||
await ctx.send(
|
await ctx.send(
|
||||||
"What roles are allowed to use this command? (Must be comma separated)\n"
|
"What roles are allowed to use this command?\n"
|
||||||
"Say `None` to allow all roles"
|
"Say `None` to allow all roles"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
"hidden": false,
|
"hidden": false,
|
||||||
"install_msg": "Thank you for installing Chatter! Please make sure you check the install instructions at https://github.com/bobloy/Fox-V3/blob/master/chatter/README.md\nAfter that, get started ith `[p]load chatter` and `[p]help Chatter`",
|
"install_msg": "Thank you for installing Chatter! Please make sure you check the install instructions at https://github.com/bobloy/Fox-V3/blob/master/chatter/README.md\nAfter that, get started ith `[p]load chatter` and `[p]help Chatter`",
|
||||||
"requirements": [
|
"requirements": [
|
||||||
"git+git://github.com/bobloy/ChatterBot@fox#egg=ChatterBot",
|
"git+git://github.com/bobloy/ChatterBot@fox#egg=ChatterBot>=1.1.0.dev4",
|
||||||
"kaggle",
|
"kaggle",
|
||||||
"https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.1.0/en_core_web_sm-3.1.0.tar.gz#egg=en_core_web_sm",
|
"https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.1.0/en_core_web_sm-3.1.0.tar.gz#egg=en_core_web_sm",
|
||||||
"https://github.com/explosion/spacy-models/releases/download/en_core_web_md-3.1.0/en_core_web_md-3.1.0.tar.gz#egg=en_core_web_md"
|
"https://github.com/explosion/spacy-models/releases/download/en_core_web_md-3.1.0/en_core_web_md-3.1.0.tar.gz#egg=en_core_web_md"
|
||||||
|
@ -441,6 +441,7 @@ class FIFO(commands.Cog):
|
|||||||
self.scheduler.print_jobs(out=cp)
|
self.scheduler.print_jobs(out=cp)
|
||||||
|
|
||||||
out = cp.string
|
out = cp.string
|
||||||
|
out=out.replace("*","\*")
|
||||||
|
|
||||||
if out:
|
if out:
|
||||||
if len(out) > 2000:
|
if len(out) > 2000:
|
||||||
|
@ -28,9 +28,12 @@ async def get_channel_counts(category, guild):
|
|||||||
online_num = members - offline_num
|
online_num = members - offline_num
|
||||||
# Gets count of actual users
|
# Gets count of actual users
|
||||||
human_num = members - bot_num
|
human_num = members - bot_num
|
||||||
|
# count amount of premium subs/nitro subs.
|
||||||
|
boosters = guild.premium_subscription_count
|
||||||
return {
|
return {
|
||||||
"members": members,
|
"members": members,
|
||||||
"humans": human_num,
|
"humans": human_num,
|
||||||
|
"boosters": boosters,
|
||||||
"bots": bot_num,
|
"bots": bot_num,
|
||||||
"roles": roles_num,
|
"roles": roles_num,
|
||||||
"channels": channels_num,
|
"channels": channels_num,
|
||||||
@ -58,6 +61,7 @@ class InfoChannel(Cog):
|
|||||||
self.default_channel_names = {
|
self.default_channel_names = {
|
||||||
"members": "Members: {count}",
|
"members": "Members: {count}",
|
||||||
"humans": "Humans: {count}",
|
"humans": "Humans: {count}",
|
||||||
|
"boosters": "Boosters: {count}",
|
||||||
"bots": "Bots: {count}",
|
"bots": "Bots: {count}",
|
||||||
"roles": "Roles: {count}",
|
"roles": "Roles: {count}",
|
||||||
"channels": "Channels: {count}",
|
"channels": "Channels: {count}",
|
||||||
@ -170,6 +174,7 @@ class InfoChannel(Cog):
|
|||||||
Valid Types are:
|
Valid Types are:
|
||||||
- `members`: Total members on the server
|
- `members`: Total members on the server
|
||||||
- `humans`: Total members that aren't bots
|
- `humans`: Total members that aren't bots
|
||||||
|
- `boosters`: Total amount of boosters
|
||||||
- `bots`: Total bots
|
- `bots`: Total bots
|
||||||
- `roles`: Total number of roles
|
- `roles`: Total number of roles
|
||||||
- `channels`: Total number of channels excluding infochannels,
|
- `channels`: Total number of channels excluding infochannels,
|
||||||
@ -224,6 +229,7 @@ class InfoChannel(Cog):
|
|||||||
Valid Types are:
|
Valid Types are:
|
||||||
- `members`: Total members on the server
|
- `members`: Total members on the server
|
||||||
- `humans`: Total members that aren't bots
|
- `humans`: Total members that aren't bots
|
||||||
|
- `boosters`: Total amount of boosters
|
||||||
- `bots`: Total bots
|
- `bots`: Total bots
|
||||||
- `roles`: Total number of roles
|
- `roles`: Total number of roles
|
||||||
- `channels`: Total number of channels excluding infochannels
|
- `channels`: Total number of channels excluding infochannels
|
||||||
@ -441,6 +447,7 @@ class InfoChannel(Cog):
|
|||||||
guild,
|
guild,
|
||||||
members=True,
|
members=True,
|
||||||
humans=True,
|
humans=True,
|
||||||
|
boosters=True,
|
||||||
bots=True,
|
bots=True,
|
||||||
roles=True,
|
roles=True,
|
||||||
channels=True,
|
channels=True,
|
||||||
@ -497,14 +504,16 @@ class InfoChannel(Cog):
|
|||||||
guild_data = await self.config.guild(guild).all()
|
guild_data = await self.config.guild(guild).all()
|
||||||
|
|
||||||
to_update = (
|
to_update = (
|
||||||
kwargs.keys() & guild_data["enabled_channels"].keys()
|
kwargs.keys() & [key for key, value in guild_data["enabled_channels"].items() if value]
|
||||||
) # Value in kwargs doesn't matter
|
) # Value in kwargs doesn't matter
|
||||||
|
|
||||||
log.debug(f"{to_update=}")
|
|
||||||
|
|
||||||
if to_update or extra_roles:
|
if to_update or extra_roles:
|
||||||
|
log.debug(f"{to_update=}\n"
|
||||||
|
f"{extra_roles=}")
|
||||||
|
|
||||||
category = guild.get_channel(guild_data["category_id"])
|
category = guild.get_channel(guild_data["category_id"])
|
||||||
if category is None:
|
if category is None:
|
||||||
|
log.debug('Channel category is missing, updating must be off')
|
||||||
return # Nothing to update, must be off
|
return # Nothing to update, must be off
|
||||||
|
|
||||||
channel_data = await get_channel_counts(category, guild)
|
channel_data = await get_channel_counts(category, guild)
|
||||||
|
@ -40,12 +40,12 @@ class LoveCalculator(Cog):
|
|||||||
log.debug(f"{resp=}")
|
log.debug(f"{resp=}")
|
||||||
soup_object = BeautifulSoup(resp, "html.parser")
|
soup_object = BeautifulSoup(resp, "html.parser")
|
||||||
|
|
||||||
description = soup_object.find("div", class_="result__score").get_text()
|
description = soup_object.find("div", class_="result__score")
|
||||||
|
|
||||||
if description is None:
|
if description is None:
|
||||||
description = "Dr. Love is busy right now"
|
description = "Dr. Love is busy right now"
|
||||||
else:
|
else:
|
||||||
description = description.strip()
|
description = description.get_text().strip()
|
||||||
|
|
||||||
result_image = soup_object.find("img", class_="result__image").get("src")
|
result_image = soup_object.find("img", class_="result__image").get("src")
|
||||||
|
|
||||||
|
@ -77,11 +77,13 @@ class LastSeen(Cog):
|
|||||||
return
|
return
|
||||||
last_seen = self.get_date_time(last_seen)
|
last_seen = self.get_date_time(last_seen)
|
||||||
|
|
||||||
# embed = discord.Embed(
|
embed = discord.Embed(
|
||||||
# description="{} was last seen at this date and time".format(member.display_name),
|
description="{} was last seen at this date and time".format(member.display_name),
|
||||||
# timestamp=last_seen)
|
timestamp=last_seen,
|
||||||
|
color=await self.bot.get_embed_color(ctx),
|
||||||
|
)
|
||||||
|
|
||||||
embed = discord.Embed(timestamp=last_seen, color=await self.bot.get_embed_color(ctx))
|
# embed = discord.Embed(timestamp=last_seen, color=await self.bot.get_embed_color(ctx))
|
||||||
await ctx.send(embed=embed)
|
await ctx.send(embed=embed)
|
||||||
|
|
||||||
@commands.Cog.listener()
|
@commands.Cog.listener()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user