尝试大改,可读性有点差的版本,基本做到能实时处理弹幕

This commit is contained in:
2022-06-03 23:08:43 +08:00
parent 3f95b07009
commit 74a15849ab
16 changed files with 181 additions and 204 deletions

View File

@ -1,6 +1,5 @@
import traceback
from datetime import datetime
from store.mongo import MongoStore
from config.helper import config
@ -13,55 +12,13 @@ class Base:
def extra_info(self):
return dict()
def user(self):
if(hasattr(self.instance, 'user')):
return self.instance.user
return None
def persists(self):
if config()['mongo']['enabled'] != 'on':
return
try:
store = MongoStore()
user = self.user()
if user is not None:
store.set_collection('user')
if not store.exists({'id': user.id}):
store.insert_one({
'id': user.id,
'shortId': user.shortId,
'nickname': user.nickname,
'gender': user.gender
})
store.set_collection(self.instance.common.method)
msg = {
"msgId": self.instance.common.msgId,
"roomId": self.instance.common.roomId,
'content': self.format_content(),
'created_at': datetime.today().replace(microsecond=0)
}
if user is not None:
msg.update({
'userId': user.id
})
if len(self.extra_info()):
msg.update(self.extra_info())
store.insert_one(msg)
except Exception as e:
print(self.instance.common.method + ' persists error')
print(traceback.format_exc())
finally:
store.close()
def __str__(self):
pass