blob: d8bb6775f177d2d0d8af1515b386b7703de5ddd0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# Copyright (C) 2024-2026 Maria Lisina
# Copyright (C) 2024-2026 Danil Lisin
# SPDX-License-Identifier: Apache-2.0
if [[ -n "${1}" ]]
then
ib_post_md5="${1}"
shift
else
output_text="You must specify MD5 hash"
return
fi
if ! [[ ${#ib_post_md5} -eq 32 ]]
then
output_text="Invalid MD5 hash"
return
fi
ib_post="${cache}/${update_id}_id.txt"
ib_sample="${cache}/${update_id}_sample.txt"
for lock in "${ib_post}" "${ib_sample}"
do
until mkdir "${lock%.*}.lock"
do
sleep 1
done
done
for ib_board in {a..z}
do
source "${units}/ib_config.zsh"
source "${units}/ib_hash.zsh" &
wait
if ! [[ -f "${ib_post}" ]]
then
continue
fi
ib_id="$(< "${ib_post}")"
keyboard_text1="${ib_name}"
keyboard_query1="post ${ib_board} ${ib_id}"
reply_markup="$(
jq --compact-output \
--argjson offset "$(printf "%u" "${keyboard_offset}")" \
--arg text1 "${keyboard_text1}" \
--arg query1 "${keyboard_query1}" \
'.inline_keyboard[$offset] += [{"text": $text1, "switch_inline_query_current_chat": $query1}]' \
<<< "${reply_markup:-"{}"}"
)"
keyboard_offset=$((keyboard_offset + 0.5))
done
if [[ -f "${ib_sample}" ]]
then
output_text="$(printf "<b>MD5:</b> <code>%s</code>" "${ib_post_md5}")"
link_preview_options="$(
jq --null-input --compact-output \
--arg url "$(< "${ib_sample}")" \
'{"url": $url, "prefer_small_media": true, "show_above_text": true}'
)"
else
output_text="No results found"
fi
for lock in "${ib_post}" "${ib_sample}"
do
rmdir "${lock%.*}.lock"
done
|