fix
This commit is contained in:
1 parent
c90ce0fc70
commit
c485bd27e3
6 files changed
+86
-9
No files matched your search
@@ -2,15 +2,71 @@ import os
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
from aiogram import types, Router
|
||||
from aiogram import types, Router, F
|
||||
|
||||
from app.core._keyboards import get_inline_keyboard
|
||||
from app.core.models.node_storage import StoredContent
|
||||
import json
|
||||
from app.core.logger import make_log
|
||||
|
||||
from app.client_bot.routers.home import router as home_router
|
||||
from app.client_bot.routers.tonconnect import router as tonconnect_router
|
||||
|
||||
from app.core._config import CLIENT_TELEGRAM_BOT_USERNAME
|
||||
from app.core.logger import logger
|
||||
from app.core.content.content_id import ContentId
|
||||
import base58
|
||||
|
||||
router = Router()
|
||||
|
||||
# router.message.register(t_, Command('dev_tonconnect'))
|
||||
# router.callback_query.register(t_callback_init_tonconnect, F.data.startswith('initTonconnect_'))
|
||||
# router.callback_query.register(t_callback_disconnect_wallet, F.data == 'disconnectWallet')
|
||||
|
||||
async def t_inline_query_node_content(query: types.InlineQuery, memory=None, user=None, db_session=None, chat_wrap=None, **extra):
|
||||
args = query.query[1:]
|
||||
cid = ContentId.deserialize(args)
|
||||
|
||||
content_list = []
|
||||
content = db_session.query(StoredContent).filter_by(hash=cid.content_hash_b58).first()
|
||||
decrypted_content = None
|
||||
if content:
|
||||
if content.encrypted:
|
||||
decrypted_content = db_session.query(StoredContent).filter_by(id=content.decrypted_content_id).first()
|
||||
else:
|
||||
decrypted_content = content
|
||||
|
||||
if not decrypted_content:
|
||||
make_log("OwnedContent", f"Can't get decrypted content: {content.id}", level='warning')
|
||||
return await query.answer(content_list)
|
||||
|
||||
try:
|
||||
metadata_content = StoredContent.from_cid(db_session, content.json_format()['metadata_cid'])
|
||||
with open(metadata_content.filepath, 'r') as f:
|
||||
metadata_content_json = json.loads(f.read())
|
||||
except BaseException as e:
|
||||
make_log("OwnedContent", f"Can't get metadata content: {e}", level='warning')
|
||||
return await query.answer(content_list)
|
||||
|
||||
audio_title = metadata_content_json.get('name', "").split(' - ')
|
||||
title, performer = None
|
||||
if len(audio_title) > 1:
|
||||
performer = audio_title[0].strip()
|
||||
audio_title = audio_title[1:]
|
||||
|
||||
title = audio_title[0].strip()
|
||||
|
||||
content_list.append(
|
||||
types.InlineQueryResultAudio(
|
||||
id=content.id,
|
||||
audio_url=decrypted_content.web_url,
|
||||
title=title,
|
||||
performer=performer,
|
||||
reply_markup=get_inline_keyboard([
|
||||
[{
|
||||
'text': user.translated('viewTrack_button'),
|
||||
'url': f"https://t.me/{CLIENT_TELEGRAM_BOT_USERNAME}?start=C{content.cid.serialize_v2()}"
|
||||
}]
|
||||
])
|
||||
)
|
||||
)
|
||||
|
||||
return await query.answer(content_list)
|
||||
|
||||
router.inline_query.register(t_inline_query_node_content, F.data.startswith('C'))
|
||||
@@ -78,7 +78,7 @@ async def t_home_menu(__msg, **extra):
|
||||
|
||||
if args[0].startswith('C'):
|
||||
content = StoredContent.from_cid(db_session, args[0][1:])
|
||||
return await chat_wrap.send_content(content, message_id=message_id)
|
||||
return await chat_wrap.send_content(db_session, content, message_id=message_id)
|
||||
|
||||
return await send_home_menu(chat_wrap, user, wallet_connection, message_id=message_id)
|
||||
|
||||
|
||||
Reference in new issue
Block a user