You've already forked Douyin_Web_Live
尝试大改,可读性有点差的版本,基本做到能实时处理弹幕
This commit is contained in:
@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user