refac
This commit is contained in:
@@ -1589,7 +1589,7 @@ ENABLE_MESSAGE_RATING = PersistentConfig(
|
|||||||
ENABLE_USER_WEBHOOKS = PersistentConfig(
|
ENABLE_USER_WEBHOOKS = PersistentConfig(
|
||||||
'ENABLE_USER_WEBHOOKS',
|
'ENABLE_USER_WEBHOOKS',
|
||||||
'ui.enable_user_webhooks',
|
'ui.enable_user_webhooks',
|
||||||
os.environ.get('ENABLE_USER_WEBHOOKS', 'True').lower() == 'true',
|
os.environ.get('ENABLE_USER_WEBHOOKS', 'False').lower() == 'true',
|
||||||
)
|
)
|
||||||
|
|
||||||
# FastAPI / AnyIO settings
|
# FastAPI / AnyIO settings
|
||||||
|
|||||||
@@ -815,12 +815,16 @@ async def get_pinned_channel_messages(
|
|||||||
############################
|
############################
|
||||||
|
|
||||||
|
|
||||||
async def send_notification(name, webui_url, channel, message, active_user_ids, db=None):
|
async def send_notification(request, channel, message, active_user_ids, db=None):
|
||||||
|
name = request.app.state.WEBUI_NAME
|
||||||
|
webui_url = request.app.state.config.WEBUI_URL
|
||||||
|
enable_user_webhooks = request.app.state.config.ENABLE_USER_WEBHOOKS
|
||||||
|
|
||||||
users = get_channel_users_with_access(channel, 'read', db=db)
|
users = get_channel_users_with_access(channel, 'read', db=db)
|
||||||
|
|
||||||
for user in users:
|
for user in users:
|
||||||
if (user.id not in active_user_ids) and Channels.is_user_channel_member(channel.id, user.id, db=db):
|
if (user.id not in active_user_ids) and Channels.is_user_channel_member(channel.id, user.id, db=db):
|
||||||
if user.settings:
|
if enable_user_webhooks and user.settings:
|
||||||
webhook_url = user.settings.ui.get('notifications', {}).get('webhook_url', None)
|
webhook_url = user.settings.ui.get('notifications', {}).get('webhook_url', None)
|
||||||
if webhook_url:
|
if webhook_url:
|
||||||
await post_webhook(
|
await post_webhook(
|
||||||
@@ -1109,8 +1113,7 @@ async def post_new_message(
|
|||||||
async def background_handler():
|
async def background_handler():
|
||||||
await model_response_handler(request, channel, message, user)
|
await model_response_handler(request, channel, message, user)
|
||||||
await send_notification(
|
await send_notification(
|
||||||
request.app.state.WEBUI_NAME,
|
request,
|
||||||
request.app.state.config.WEBUI_URL,
|
|
||||||
channel,
|
channel,
|
||||||
message,
|
message,
|
||||||
active_user_ids,
|
active_user_ids,
|
||||||
|
|||||||
@@ -3098,7 +3098,7 @@ async def non_streaming_chat_response_handler(response, ctx):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Send a webhook notification if the user is not active
|
# Send a webhook notification if the user is not active
|
||||||
if not Users.is_user_active(user.id):
|
if request.app.state.config.ENABLE_USER_WEBHOOKS and not Users.is_user_active(user.id):
|
||||||
webhook_url = Users.get_user_webhook_url_by_id(user.id)
|
webhook_url = Users.get_user_webhook_url_by_id(user.id)
|
||||||
if webhook_url:
|
if webhook_url:
|
||||||
await post_webhook(
|
await post_webhook(
|
||||||
@@ -4587,7 +4587,7 @@ async def streaming_chat_response_handler(response, ctx):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Send a webhook notification if the user is not active
|
# Send a webhook notification if the user is not active
|
||||||
if not Users.is_user_active(user.id):
|
if request.app.state.config.ENABLE_USER_WEBHOOKS and not Users.is_user_active(user.id):
|
||||||
webhook_url = Users.get_user_webhook_url_by_id(user.id)
|
webhook_url = Users.get_user_webhook_url_by_id(user.id)
|
||||||
if webhook_url:
|
if webhook_url:
|
||||||
await post_webhook(
|
await post_webhook(
|
||||||
|
|||||||
Reference in New Issue
Block a user