aboutsummaryrefslogtreecommitdiff
path: root/operators/inline_search_pools.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'operators/inline_search_pools.zsh')
-rw-r--r--operators/inline_search_pools.zsh74
1 files changed, 74 insertions, 0 deletions
diff --git a/operators/inline_search_pools.zsh b/operators/inline_search_pools.zsh
new file mode 100644
index 0000000..476dd9a
--- /dev/null
+++ b/operators/inline_search_pools.zsh
@@ -0,0 +1,74 @@
+# Copyright (C) 2024-2026 Maria Lisina
+# Copyright (C) 2024-2026 Danil Lisin
+# SPDX-License-Identifier: Apache-2.0
+
+ib_created_at="${ib_created_ats[idx]}"
+ib_pool="${ib_pools[idx]}"
+ib_count="${ib_counts[idx]}"
+
+unset ib_date_text
+source "${units}/ib_date.zsh"
+
+if [[ -n "${ib_ispace}" ]]
+then
+ ib_pool="$(tr "${ib_ispace}" ' ' <<< "${ib_pool}")"
+fi
+
+if [[ ${#ib_pool} -gt 1024 ]]
+then
+ ib_pool="$(cut -c 1-1024 <<< "${ib_pool}")..."
+fi
+
+output_title="${ib_pool:- }"
+output_text="$(printf "<b>%s</b>\n<b>ID:</b> <code>%s</code>" "${ib_name}" "${ib_id}")"
+
+if [[ -n "${ib_date_text}" ]]
+then
+ output_text="$(printf "%s\n<b>Date:</b> <code>%s</code>" "${output_text}" "${ib_date_text}")"
+fi
+
+output_text="$(printf "%s\n<b>Name:</b> %s" "${output_text}" "$(htmlescape <<< "${ib_pool}")")"
+output_text="$(printf "%s\n<b>Post count:</b> %s" "${output_text}" "${ib_count}")"
+output_description="Click to send pool information"
+
+keyboard_text1="Pool link"
+keyboard_url1="${ib_url}$(urlencode <<< "${ib_id}")"
+keyboard_text2="Resume"
+keyboard_query2="${command} ${ib_board} ${inline_page}"
+
+if [[ -n "${search_query}" ]]
+then
+ keyboard_query2="${keyboard_query2} ${search_query}"
+fi
+
+result="$(
+ jq --null-input --compact-output \
+ --arg id "${ib_id}" \
+ --arg title "${output_title}" \
+ --arg text "${output_text}" \
+ --arg description "${output_description}" \
+ --arg text1 "${keyboard_text1}" \
+ --arg url1 "${keyboard_url1}" \
+ --arg text2 "${keyboard_text2}" \
+ --arg query2 "${keyboard_query2}" \
+ '{"type": "article", "id": $id, "title": $title, "input_message_content": {"message_text": $text, "parse_mode": "HTML"}, "description": $description, "reply_markup": {"inline_keyboard": [[{"text": $text1, "url": $url1}, {"text": $text2, "switch_inline_query_current_chat": $query2}]]}}'
+)"
+
+if [[ -n "${ib_quick}" ]]
+then
+ keyboard_text1="Search posts"
+ keyboard_query1="posts ${ib_board} pool:${ib_id}"
+
+ if [[ -n "${ib_iorder}" ]]
+ then
+ keyboard_query1="${keyboard_query1} ${ib_iorder}"
+ fi
+
+ result="$(
+ jq --compact-output \
+ --arg text1 "${keyboard_text1}" \
+ --arg query1 "${keyboard_query1}" \
+ '.reply_markup.inline_keyboard += [[{"text": $text1, "switch_inline_query_current_chat": $query1}]]' \
+ <<< "${result}"
+ )"
+fi