Allow verify to automatically de-verify

This commit is contained in:
eek7574 2022-11-22 21:43:50 +00:00
parent 0ca9cac82d
commit e4f3af5c00
3 changed files with 24 additions and 6 deletions

View file

@ -82,7 +82,9 @@ class Events(commands.Cog):
channel: discord.TextChannel = discord.utils.get(member.guild.text_channels, name="general") channel: discord.TextChannel = discord.utils.get(member.guild.text_channels, name="general")
if channel and channel.can_send(): if channel and channel.can_send():
await channel.send(f"{LTR} {member.mention} {f'({student.id})' if student else '(pending verification)'}") await channel.send(
f"{LTR} {member.mention} (`{member}`, {f'{student.id}' if student else 'pending verification'})"
)
@commands.Cog.listener() @commands.Cog.listener()
async def on_member_remove(self, member: discord.Member): async def on_member_remove(self, member: discord.Member):
@ -92,7 +94,9 @@ class Events(commands.Cog):
student: Optional[Student] = await get_or_none(Student, user_id=member.id) student: Optional[Student] = await get_or_none(Student, user_id=member.id)
channel: discord.TextChannel = discord.utils.get(member.guild.text_channels, name="general") channel: discord.TextChannel = discord.utils.get(member.guild.text_channels, name="general")
if channel and channel.can_send(): if channel and channel.can_send():
await channel.send(f"{RTL} {member.mention} {f'({student.id})' if student else '(pending verification)'}") await channel.send(
f"{RTL} {member.mention} (`{member}`, {f'{student.id}' if student else 'pending verification'})"
)
@commands.Cog.listener() @commands.Cog.listener()
async def on_message(self, message: discord.Message): async def on_message(self, message: discord.Message):

View file

@ -19,8 +19,22 @@ class VerifyCog(commands.Cog):
except orm.NoMatch: except orm.NoMatch:
pass pass
view = VerifyView(ctx) role = discord.utils.find(lambda r: r.name.lower() == "verified", ctx.guild.roles)
return await ctx.respond(view=view, ephemeral=True) channel = discord.utils.get(ctx.guild.text_channels, name="verify")
if role and role < ctx.me.top_role:
await ctx.author.remove_roles(role, reason=f"Auto de-verified")
if channel:
try:
await ctx.author.send(
f"You have been automatically de-verified. Please re-verify by going to {channel.mention} and"
f" typing </verify:{ctx.command.id}>."
)
except discord.Forbidden:
pass
return
else:
view = VerifyView(ctx)
return await ctx.respond(view=view, ephemeral=True)
@commands.command(name="de-verify") @commands.command(name="de-verify")
@commands.is_owner() @commands.is_owner()

View file

@ -12,8 +12,8 @@ from nltk.sentiment.vader import SentimentIntensityAnalyzer
positive_tweets = twitter_samples.strings("positive_tweets.json") positive_tweets = twitter_samples.strings("positive_tweets.json")
negative_tweets = twitter_samples.strings("negative_tweets.json") negative_tweets = twitter_samples.strings("negative_tweets.json")
positive_reviews = movie_reviews.categories('pos') positive_reviews = movie_reviews.categories("pos")
negative_reviews = movie_reviews.categories('neg') negative_reviews = movie_reviews.categories("neg")
positive_tweets += positive_reviews positive_tweets += positive_reviews
# negative_tweets += negative_reviews # negative_tweets += negative_reviews
positive_tweet_tokens = twitter_samples.tokenized("positive_tweets.json") positive_tweet_tokens = twitter_samples.tokenized("positive_tweets.json")