Skip to content

Instantly share code, notes, and snippets.

@b1ek
Last active December 4, 2022 13:55
Show Gist options
  • Save b1ek/42a69eb6013309347c23c8bae7f0fc60 to your computer and use it in GitHub Desktop.
Save b1ek/42a69eb6013309347c23c8bae7f0fc60 to your computer and use it in GitHub Desktop.
blek! Announcement (python)

blek! Announcement

This is an announcement functionality that is used by most of blek! programs, and shouldn't be used anywhere else.

Basically, this is needed so that i could've easily add this to my programs. If you are not me, i dont think you could find this of any use except if you use it to make announcements for your project

#!/bin/python
# Requirements: just the requests library
import requests, sys
data = {
announced: False,
last_data: {}
}
def check(force = False, silent = True):
if (not force and data["announced"]): return 2;
req = requests.get("https://blek.codes/announcement")
# validate
if (req.ok == False):
if (not silent):
print("Can't fetch announcement from blek.codes", file=sys.stderr);
return False;
if (req.headers.get('content-type') == 'application/json'):
if (not silent):
print("Announcement data is not valid", file=sys.stderr);
return False;
data = req.json();
if ((("announce" in data) and ("inline" in data)) == False):
if (not silent):
print("Announcement data is not valid", file=sys.stderr);
return False;
# do actions if necessary
if (data["announce"]):
print("Message from blek.codes:\n" + data["inline"]);
data['announced'] = True;
data['last_data'] = data;
return True;
return False;
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
#!/bin/python
# Requirements: just the requests library
import requests, sys
data = {
announced: False,
last_data: {}
}
def check(force = False, silent = True):
if (not force and data["announced"]): return 2;
req = requests.get("https://blek.codes/announcement")
# validate
if (req.ok == False):
if (not silent):
print("Can't fetch announcement from blek.codes", file=sys.stderr);
return False;
if (req.headers.get('content-type') == 'application/json'):
if (not silent):
print("Announcement data is not valid", file=sys.stderr);
return False;
data = req.json();
if ((("announce" in data) and ("inline" in data)) == False):
if (not silent):
print("Announcement data is not valid", file=sys.stderr);
return False;
# do actions if necessary
if (data["announce"]):
print("Message from blek.codes:\n" + data["inline"]);
data['announced'] = True;
data['last_data'] = data;
return True;
return False;
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEWfRtuFDKRH82Nx3tFFRiIeNZXQwFAmOGYikACgkQFFRiIeNZ
XQz0HQ//UvbqagMBKiT/JKJx3agpObMEolrATMw6/bTxbh9QnQBEaerkjoTNdJyg
52AWPyaiyMiZTPdkWuG+trO6Oc4lJC1TL63Bs5M+GEaOH9bfsC5QRmkZ2zgeFggF
tucbxA51tkZKj59mNsfThJDeYOgw6t9CXF9kMhQKPkgZgnRidm4CyIedVokVSKrk
LirCMZLJWKmwWFbZNY8mOSWHva8npOnwM+P64/W16+a0TTQVNngkqIE24+kNuGJt
wDcxi1EB+reo0jHFAaLw4/rsDdxWeptXtsau/CYCM48e8gMrQ3N0KhYR0ORilsG1
4rLVdUo4fZTsFS/G/fXjmwausFSMHgtJquqyXsW/V0l2L+rsQHVsP+04rEvpjY+6
7irJ+eCz5pRB6iTjzdTRub4GB15vM0xD/VspgBvdpuCSX73pSdjnHhCZfmMWX4lI
PR8rBALVASJQ2enoInxzWx95HZjhJFBuXqW3T6bwqKkZ0lAEZRU7pNo9rSEFZ+ko
ZXex+BaXUBMMZmE020K9Kpb0hSke3ITc6cwHwXR7HzsZVpSe8IH9rXDIpCqs1Cbh
HD0gPnckiH4XAfA0IWUaa26uLMORwNNGLZcWcv+PF4z8aXYB3TIv07Qf/+u1yXPA
fR7A1oGgCjbOy403M/njp7pmZv1+WjqsZYQDmSHpTg4jS6+5n+U=
=iNrI
-----END PGP SIGNATURE-----
#!/bin/sh
jq <<< ""
if [ $? == 0 ]; then
DATA=$(curl -s https://blek.codes/announce.json)
if [[ $(jq -r '.broadcast' <<< $DATA) == 'true' ]]; then
echo -e "Message from \033[36m\033[1mblek.codes\033[0m: $(jq -r '.data.inline' <<< $DATA)";
sleep 2
fi
else
echo "jq is not installed"
fi
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
#!/bin/sh
jq <<< ""
if [ $? == 0 ]; then
DATA=$(curl -s https://blek.codes/announce.json)
if [[ $(jq -r '.broadcast' <<< $DATA) == 'true' ]]; then
echo -e "Message from \033[36m\033[1mblek.codes\033[0m: $(jq -r '.data.inline' <<< $DATA)";
sleep 2
fi
else
echo "jq is not installed"
fi
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEWfRtuFDKRH82Nx3tFFRiIeNZXQwFAmOMptIACgkQFFRiIeNZ
XQxcdw//fbAy/mLC6wXDLdNN3RfLKPQHoF5ICje7xESomUpTMCfayRE/RXHDcUDE
bIF/JACFZTmyow2+HRVMCfnkNDg8RFH0VPgpTixfyOvD07cFcfwienE3sonbrZuH
mmfd72nOqW+TiJ3ihHVnh2g5/llf+f7bugqctBvP9aycYdLY9WBuuD+n3/R/LSJf
Oo7dloAdG+FixyUHi3dVSH+4i7SaOn50IH7Ea/s7Xat6cSF752ColJNOsFoE/ieo
pkErjYjd8Blvp1+Z34CNIqJ/37P4QlcgtxW1HNhFH7h8iXQA+/JMRTJO8V8YMnkI
8d+aKYpTSUxiaIDmLWDZJv6XoZXC+2+C4ZSyFsEA/E3gRl0wOkaUDj1oQhSyHrav
tQWeFuk4UyeZ2ZHRPT/kvhCp8xd7upRxvjzisdqQaPwX2r1VXI8iW3qv4c/VIDYl
S6dw5trgG9jtLuevtjK9k3d7brTUd9dylVqZImeoeDXFbAuhMaSdxEznpVC3sWwY
aBuKfj4jAIESJhB/IFzMH8Jz0/+q2rz+leeSP9JMHxZAB09jqJh+mw7rWHXxm6/P
OsotFrW81YwNooC98isChB9ogHKF5vM1JWi5z6IN9t/fex5n0Z43bWJzl57EY0bb
qIPhhuE5PKyktlOPVMqHI/wCFN2FVUPcpzkCybYR6v5INyLrxI8=
=elM3
-----END PGP SIGNATURE-----
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment