mirror of
https://gitlab.com/oloturia/fumcaso.git
synced 2025-01-06 21:47:17 +01:00
added the replier
This commit is contained in:
parent
157c6387c1
commit
c78bc6ba7e
5 changed files with 61 additions and 15 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -11,3 +11,5 @@ history/*
|
||||||
bin/*
|
bin/*
|
||||||
temp/*
|
temp/*
|
||||||
*.pyc
|
*.pyc
|
||||||
|
secret
|
||||||
|
mastodon_listener_token
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{
|
{
|
||||||
"defaultProfile": "oloturia",
|
"defaultProfile": "oloturia",
|
||||||
"defaultMastodonToken": "./mastodon_token",
|
"mastodonListenerToken": "./mastodon_listener_token",
|
||||||
"defaultTelegramToken": "./telegram_token",
|
|
||||||
"defaultTwitterToken": "./twitter_token",
|
|
||||||
|
|
||||||
"oloturia": {
|
"oloturia": {
|
||||||
"saveLocation": "/var/tmp",
|
"saveLocation": "/var/tmp",
|
||||||
|
|
|
@ -8,13 +8,8 @@ fileDir = os.path.dirname(os.path.abspath(__file__))
|
||||||
fileDir = fileDir +"/"
|
fileDir = fileDir +"/"
|
||||||
API_URL = "https://botsin.space"
|
API_URL = "https://botsin.space"
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def publishStrip(altProfile=False,user=False):
|
||||||
if len(sys.argv) == 2:
|
|
||||||
altProfile = [sys.argv[1]]
|
|
||||||
else:
|
|
||||||
altProfile = False
|
|
||||||
config = readConfig(platform="mastodon",profile=altProfile)
|
config = readConfig(platform="mastodon",profile=altProfile)
|
||||||
|
|
||||||
with open(config["token"]) as f:
|
with open(config["token"]) as f:
|
||||||
createapp = f.readlines()
|
createapp = f.readlines()
|
||||||
createapp = [x.strip() for x in createapp]
|
createapp = [x.strip() for x in createapp]
|
||||||
|
@ -26,7 +21,10 @@ if __name__ == "__main__":
|
||||||
for i in range(1,100):
|
for i in range(1,100):
|
||||||
try:
|
try:
|
||||||
new_strip = mastodon.media_post(config["saveLocation"]+config["filename"],"image/png")
|
new_strip = mastodon.media_post(config["saveLocation"]+config["filename"],"image/png")
|
||||||
mastodon.status_post(config["text"],media_ids=new_strip)
|
if not(user):
|
||||||
|
mastodon.status_post(config["text"],media_ids=new_strip)
|
||||||
|
else:
|
||||||
|
mastodon.status_post(user+" "+config["text"],media_ids=new_strip,visibility="direct")
|
||||||
published = True
|
published = True
|
||||||
except:
|
except:
|
||||||
continue
|
continue
|
||||||
|
@ -36,3 +34,9 @@ if __name__ == "__main__":
|
||||||
else:
|
else:
|
||||||
print("error creating image\n")
|
print("error creating image\n")
|
||||||
print(status)
|
print(status)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if len(sys.argv) == 2:
|
||||||
|
publishStrip([sys.argv[1]])
|
||||||
|
else:
|
||||||
|
publishStrip()
|
||||||
|
|
37
mastodon_replier.py
Normal file → Executable file
37
mastodon_replier.py
Normal file → Executable file
|
@ -1,7 +1,9 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
|
||||||
from randstrip import createStrip,readConfig
|
from randstrip import createStrip
|
||||||
from mastodon import Mastodon
|
from mastodon import Mastodon, StreamListener
|
||||||
|
from mastodon_main import publishStrip
|
||||||
|
import json
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
@ -9,7 +11,32 @@ fileDir = os.path.dirname(os.path.abspath(__file__))
|
||||||
fileDir = fileDir + "/"
|
fileDir = fileDir + "/"
|
||||||
API_URL = "https://botsin.space"
|
API_URL = "https://botsin.space"
|
||||||
|
|
||||||
|
class stripListener(StreamListener):
|
||||||
|
def on_notification(self, notification):
|
||||||
|
try:
|
||||||
|
account = "@"+notification["account"]["acct"]
|
||||||
|
content = notification["status"]["content"]
|
||||||
|
if content.find("help") != -1:
|
||||||
|
mastodon.status_post("Hello "+account+" just send me a message with 'new strip' and the desired profile. Try with 'oloturia' (Italian), 'oloeng' (broken English) or 'olofra' (French). If not specified, Italian will be selected as default.",visibility="direct")
|
||||||
|
elif content.find("strip") != -1:
|
||||||
|
if content.find("oloeng") != -1:
|
||||||
|
profile = "oloeng"
|
||||||
|
elif content.find("olofra") != -1:
|
||||||
|
profile = "olofra"
|
||||||
|
else:
|
||||||
|
profile = "oloturia"
|
||||||
|
publishStrip([profile],account)
|
||||||
|
except KeyError:
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
config = readConfig
|
with open(fileDir+"/config.json") as f:
|
||||||
|
config = json.load(f)
|
||||||
|
with open(config["mastodonListenerToken"]) as f:
|
||||||
|
createapp = f.readlines()
|
||||||
|
createapp = [x.strip() for x in createapp]
|
||||||
|
TOKEN = createapp[0]
|
||||||
|
mastodon = Mastodon(access_token = TOKEN,api_base_url = API_URL)
|
||||||
|
listener = stripListener()
|
||||||
|
mastodon.stream_user(listener)
|
||||||
|
|
15
register_app.py
Executable file
15
register_app.py
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
from mastodon import Mastodon
|
||||||
|
|
||||||
|
'''
|
||||||
|
you need to register the app only once
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
Mastodon.create_app(
|
||||||
|
"oloturia_listener",
|
||||||
|
api_base_url = "https://botsin.space",
|
||||||
|
to_file = "secret"
|
||||||
|
)
|
||||||
|
|
||||||
|
print("App registered!")
|
Loading…
Reference in a new issue