# Copyright (C) 2024-2026 Maria Lisina # Copyright (C) 2024-2026 Danil Lisin # SPDX-License-Identifier: Apache-2.0 ib_lock=0 source "${units}/ib_common.zsh" if [[ -n "${output_text}" ]] then results="$( jq --null-input --compact-output \ --arg id "${query_id}" \ --arg title "${output_title}" \ --arg text "${output_text}" \ --arg description "${output_text}" \ '[{"type": "article", "id": $id, "title": $title, "input_message_content": {"message_text": $text}, "description": $description}]' )" return fi ib_hash="$(sha1sum <<< "${user_id}${ib_board}${ib_query}" | cut -F 1)" ib_file="${cache}/${ib_hash}.json" until mkdir "${cache}/${ib_hash}.lock" do sleep 1 done source "${units}/ib_file.zsh" if [[ -n "${output_text}" ]] then results="$( jq --null-input --compact-output \ --arg id "${query_id}" \ --arg title "${output_title}" \ --arg text "${output_text}" \ --arg description "${output_text}" \ '[{"type": "article", "id": $id, "title": $title, "input_message_content": {"message_text": $text}, "description": $description}]' )" rmdir "${cache}/${ib_hash}.lock" return fi source "${units}/ib_post.zsh" output_title="Information of post ${ib_post_id}" output_description="Click to send post information" keyboard_text1="Post link" keyboard_url1="${ib_url}$(urlencode <<< "${ib_id}")" results="$( jq --null-input --compact-output \ --arg id "${query_id}" \ --arg title "${output_title}" \ --arg text "${output_text}" \ --arg url "${ib_sample_url}" \ --arg text1 "${keyboard_text1}" \ --arg url1 "${keyboard_url1}" \ --arg description "${output_description}" \ --arg thumbnail_url "${ib_preview_url}" \ '[{"type": "article", "id": $id, "title": $title, "input_message_content": {"message_text": $text, "parse_mode": "HTML", "link_preview_options": {"url": $url, "prefer_small_media": true, "show_above_text": true}}, "reply_markup": {"inline_keyboard": [[{"text": $text1, "url": $url1}]]}, "description": $description, "thumbnail_url": $thumbnail_url}]' )" if [[ ${#ib_tags} -gt 0 ]] then keyboard_text1="Tags (${#ib_tags})" keyboard_data1="tags ${ib_board} ${ib_post_id}" results="$( jq --compact-output \ --arg text1 "${keyboard_text1}" \ --arg data1 "${keyboard_data1}" \ '.[0].reply_markup.inline_keyboard[0] += [{"text": $text1, "callback_data": $data1}]' \ <<< "${results}" )" fi rmdir "${cache}/${ib_hash}.lock"