diff options
| author | Maria Lisina <sekoohaka.sarisan@gmail.com> | 2026-02-02 20:43:48 +0300 |
|---|---|---|
| committer | Maria Lisina <sekoohaka.sarisan@gmail.com> | 2026-02-02 20:43:48 +0300 |
| commit | a7da5b685c3b9394f3d8dc5cd4289f3eb9d08185 (patch) | |
| tree | aaec94c5bd5fd1577d8724287e111f785b802c16 /handlers/inline.zsh | |
| parent | 5ef9c40292baf94540a110bb12a9a7e435c31766 (diff) | |
*/*: Rename main directories
Signed-off-by: Maria Lisina <sekoohaka.sarisan@gmail.com>
Diffstat (limited to 'handlers/inline.zsh')
| -rw-r--r-- | handlers/inline.zsh | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/handlers/inline.zsh b/handlers/inline.zsh new file mode 100644 index 0000000..8f025b7 --- /dev/null +++ b/handlers/inline.zsh @@ -0,0 +1,96 @@ +# Copyright (C) 2024-2026 Maria Lisina +# Copyright (C) 2024-2026 Danil Lisin +# SPDX-License-Identifier: Apache-2.0 + +inline_query=($(jq -r '.inline_query.query' <<< "${update}")) + +if [[ "${inline_query}" == "null" ]] +then + exit 0 +fi + +user_id="$(jq -r '.inline_query.from.id' <<< "${update}")" +query_id="$(jq -r '.inline_query.id' <<< "${update}")" +chat_type="$(jq -r '.inline_query.chat_type' <<< "${update}")" +offset="$(jq -r '.inline_query.offset' <<< "${update}")" + +source "${units}/user.zsh" +set -- ${inline_query[@]} + +command="${1}" + +if [[ -n "${command}" ]] +then + shift +else + source "${agents}/inline_none.zsh" +fi + +case "${command}" in + ("donate") + source "${agents}/inline_donate.zsh" + ;; + ("help") + source "${agents}/inline_help.zsh" + ;; + ("original") + source "${agents}/inline_original.zsh" + ;; + ("post") + source "${agents}/inline_post.zsh" + ;; + ("short") + source "${agents}/inline_short.zsh" + ;; + ("shorts" | s) + source "${agents}/inline_shorts.zsh" + ;; + (*) + source "${agents}/inline_search.zsh" + ;; +esac + +if ! output_data="$( + curl --connect-timeout ${connrefused_timeout} \ + --data-urlencode "inline_query_id=${query_id}" \ + --data-urlencode "results=${results}" \ + --data-urlencode "cache_time=0" \ + --data-urlencode "next_offset=${next_offset}" \ + --get \ + --max-time ${internal_timeout} \ + --proxy "${internal_proxy}" \ + --retry 1 \ + --retry-connrefused \ + --retry-max-time $((internal_timeout - connrefused_timeout)) \ + --silent \ + --user-agent "${useragent}" \ + "${api_address}/bot${api_token}/answerInlineQuery" +)" +then + log_text="answerInlineQuery (${update_id}): Failed to access Telegram Bot API" + source "${units}/log.zsh" + + exit 0 +fi + +if ! jq -e '.' <<< "${output_data}" > /dev/null +then + log_text="answerInlineQuery (${update_id}): An unknown error occurred" + source "${units}/log.zsh" + + exit 0 +fi + +if [[ "$(jq -r '.ok' <<< "${output_data}")" != "true" ]] +then + error_description="$(jq -r '.description' <<< "${output_data}")" + + if [[ "${error_description}" != "null" ]] + then + log_text="answerInlineQuery (${update_id}): ${error_description}" + else + log_text="answerInlineQuery (${update_id}): An unknown error occurred" + fi + + source "${units}/log.zsh" +fi |
