Skip to content

Commit e26a419

Browse files
committed
収集するデータを増やす
1 parent 3a4b436 commit e26a419

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

src/main.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import asyncio
55
from pymongo import MongoClient
66
from discord.ext import commands
7+
import re
78

89
# Add src directory to sys.path for imports
910
sys.path.insert(0, os.path.dirname(__file__))
@@ -39,6 +40,7 @@ def setup_db():
3940
unique=True,
4041
partialFilterExpression={"message_id": {"$exists": True}},
4142
)
43+
bot.db.messages.create_index("reply_to")
4244

4345
# TTL Index: 30日後に自動的に削除
4446
bot.db.messages.create_index("timestamp", expireAfterSeconds=30 * 24 * 60 * 60)
@@ -89,6 +91,13 @@ async def on_message(message):
8991

9092
roles = message.author.roles
9193

94+
reply_to = None
95+
if message.reference:
96+
reply_to = str(message.reference.message_id)
97+
98+
emoji_pattern = r"<a?:\w+:\d+>"
99+
emojis = re.findall(emoji_pattern, message.content)
100+
92101
data = {
93102
"message_id": str(message.id),
94103
"guild_id": str(message.guild.id),
@@ -100,6 +109,12 @@ async def on_message(message):
100109
"content": message.content,
101110
"timestamp": message.created_at.isoformat(),
102111
"role_ids": [str(role.id) for role in roles] if roles else [],
112+
"reply_to": reply_to,
113+
"mentions": [str(user.id) for user in message.mentions],
114+
"attachments": [a.url for a in message.attachments],
115+
"length": len(message.content),
116+
"emoji_count": len(emojis),
117+
"url_count": len(message.content.split("http")),
103118
}
104119

105120
bot.db.messages.insert_one(data)

0 commit comments

Comments
 (0)