Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
.env
.env
.idea/inspectionProfiles/
.idea/kernel.iml
.idea/misc.xml
.idea/modules.xml
.idea/vcs.xml
10 changes: 10 additions & 0 deletions bot/slash_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,16 @@ async def userinfo(self, interaction: Interaction,
embed.set_thumbnail(url=user.avatar.url)
await interaction.response.send_message(embed=embed)

@bot.slash_command(name="messagecount", description="Get a user's message count")
@commands.has_any_role(*STAFF_ROLES)
async def message_count(self, interaction):
user_id = str(interaction.user.id)
self.cursor.execute("SELECT MessageCount FROM UserMessages WHERE UserID=?", (user_id,))
result = self.cursor.fetchone()
if result is None:
await interaction.response.send_message(f"{interaction.user.name}'s message count is 0.")
else:
await interaction.response.send_message(f"{interaction.user.name}'s message count is {result[0]}.")

def setup(bot):
"""
Expand Down
23 changes: 23 additions & 0 deletions bot/utilities.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import sqlite3
from nextcord.ext import commands

class MessageManagementCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.conn = sqlite3.connect('user_messages.db')
self.cursor = self.conn.cursor()
self.cursor.execute('''CREATE TABLE IF NOT EXISTS UserMessages
(UserID TEXT PRIMARY KEY, MessageCount INTEGER)''')

async def on_message(self, message):
user_id = str(message.author.id)
self.cursor.execute("SELECT MessageCount FROM UserMessages WHERE UserID=?", (user_id,))
result = self.cursor.fetchone()
if result is None:
self.cursor.execute("INSERT INTO UserMessages VALUES (?, 1)", (user_id,))
else:
self.cursor.execute("UPDATE UserMessages SET MessageCount = MessageCount + 1 WHERE UserID=?", (user_id,))
self.conn.commit()

def cog_unload(self):
self.conn.close()
1 change: 1 addition & 0 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ def run():
# Load the slash commands and context menus
bot.load_extension('bot.slash_commands')
bot.load_extension('bot.context_menus')
bot.load_extension('bot.utilities')
# Start the bot
bot.run(DISCORD_TOKEN)