Another addition to your top mentioned script I made 2-3 weekends ago is the option to send a message to a variable number of users (and it will never be more than a few of course).
#!/usr/bin/python
import sys, re, telepot
message=(sys.argv)[1]
#print message
bot=telepot.Bot('MYBOT-ID')
for arg in sys.argv:
#print arg
if (arg == "Harry"):
# The 123456789 is my personal telegram id coupled to my mobile
bot.sendMessage(123456789,str(message))
if (arg == "Margreet"):
# The 987654321 is the personal telegram id coupled to wife's mobile
bot.sendMessage(987654321,str(message))
Of course the chat ids are fake.
The first argument is always the message. Other arguments are users. I named my script “telepot-send.py”.
I can send for example:
/usr/local/bin/telepot-send.py "Motion sensor triggered in garage" Harry Margreet
or
/usr/local/bin/telepot-send.py "Freezer too warm." Margreet
or
/usr/local/bin/telepot-send.py "Central heating espimatic seems off line." Harry
The script simply loops through the arguments. If it finds a user it sends the message to that user. If I use “harry” instead of “Harry” it will not send as linux is case-sensitive.
It is an extremely simple script which can easilby be extended with another if-statement.
Edit: What I forgot to mention, because I don’t use it, is the use of a channel as user. A channel is the telegram equivalent of a whatsapp group.
So something like:
if (arg == "MyBotChannel"):
bot.sendMessage(111111111,str(message))