Open euphoria360 opened 7 months ago
Are you passing in a -
on the URL?
yes. for example, in this command curl -X POST -F "body=home-s" "http://192.168.48.6:8008/notify/tg-nasbot"
the -
is passed as part of home-s
word
If I escape the -
as Apprise says, like curl -X POST -F "body=home\-s" "http://192.168.48.6:8008/notify/tg-nasbot"
the command runs successfully.
But the problem is that the messages sent by the script are dynamic and I don't know the content beforehand. Also, I don't know what characters Apprise doesn't like.
I can't reproduce this at all
curl -X POST -F "body=home-s" -F tag=telegram "http://localhost:8000/notify/chris"
2024-05-13 19:08:42,013 [INFO] apprise: Loaded 3 entries from memory://
2024-05-13 19:08:42,515 [INFO] apprise: Sent Telegram notification.
In the above example, i map the telegram
tag so that i only send a notificatoin there, but even if i drop the tags, the dash
in the body has no problem (and does not need to be escaped at all.
Also, I don't know what characters Apprise doesn't like.
To ansewr this, there is nothing it doesn't like :wink: . It just passes things along . There is something else happening in your case. I'm in an Linux environment for my test, are you in the same ?
Instead of using curl
... just as a test, try installing hte local apprise
tool and see if you can get more details out of the logs:
pip install apprise
# -vvvv is a very, very verbose output
# you can possibly test your command you were doing too;
# if no -b (--body) is specified, then stdin is used by default, so the below should work fine:
printf "$message\n" | sed "s|[-.\!()%&#?/@+':]|\\\&|g" | apprise -vvvv "$appriseurl"
:beetle: Describe the bug I am using Apprise API Docker on my home server to send messages to my Telegram Group. A script on another system sends messages to it using
curl
post command. Everything was working fine until around April 17th when messages stopped coming. Today I started looking at the script and saw that Apprise complains about characters in the message. the message is:It is being sent to Apprise via this command:
printf "$message\n" | curl -X POST -F "body=$(</dev/stdin)" "$appriseurl"
And this is the error:
I tried to send a simple message via curl and again same happened:
curl -X POST -F "body=home-s" "http://192.168.48.6:8008/notify/tg-nasbot"
If I remove '-', other characters like
[]:
will get complains too. this was not the case before. what should I do?:computer: Your System Details:
Update: I finally fixed it by piping my message through
sed
and escaping all special characters. So far it works:printf "$message\n" | sed "s|[-.\!()%&#?/@+':]|\\\&|g" | curl -X POST -F "body=$(</dev/stdin)" "$appriseurl"