mirror of
https://github.com/himanshugoel2797/MisskeyBooruImageBot.git
synced 2024-10-22 21:49:06 +00:00
Make bots pull original source of the image.
This commit is contained in:
parent
627ddd4582
commit
18cc1a7408
1 changed files with 11 additions and 6 deletions
|
@ -13,7 +13,7 @@ class BotInstance:
|
|||
# Gelbooru API URL
|
||||
gelbooru_url = "https://gelbooru.com/index.php?page=dapi&s=post&q=index&json=1&limit=100&tags="
|
||||
# Misskey API URL
|
||||
misskey_url = "https://fediverse.dotnet00.dev/api/"
|
||||
misskey_url = "https://misskey.io/api/"
|
||||
# Misskey API token
|
||||
misskey_token = "NONE"
|
||||
# Bot message
|
||||
|
@ -59,13 +59,18 @@ class BotInstance:
|
|||
|
||||
# Get the image URL
|
||||
image_url = gelbooru_json['post'][image_number]["file_url"]
|
||||
# Get the image source if exists
|
||||
if 'source' not in gelbooru_json['post'][image_number] or gelbooru_json['post'][image_number]["source"] == "":
|
||||
image_src = image_url
|
||||
else:
|
||||
image_src = gelbooru_json['post'][image_number]["source"]
|
||||
# Get the image rating
|
||||
image_rating = gelbooru_json['post'][image_number]["rating"]
|
||||
|
||||
return image_url, image_rating, max_pages
|
||||
return image_url, image_src, image_rating, max_pages
|
||||
|
||||
# Download and post the image to Misskey
|
||||
def post_image(self, image_url, image_rating, log_file):
|
||||
def post_image(self, image_url, image_src, image_rating, log_file):
|
||||
image_found = False
|
||||
file_presence_check = requests.post(self.misskey_url + "drive/files/find", json = {"name": os.path.split(image_url)[-1], "i": self.misskey_token})
|
||||
if file_presence_check.status_code != 200:
|
||||
|
@ -110,7 +115,7 @@ class BotInstance:
|
|||
msg = self.bot_message
|
||||
if random.randint(0, 100) < 5:
|
||||
msg += " " + self.bot_hashtags
|
||||
create_note_request = requests.post(self.misskey_url + "notes/create", json = {"fileIds": [file_id], "text": "%s\nURL: %s\n" % (msg, image_url), "i": self.misskey_token})
|
||||
create_note_request = requests.post(self.misskey_url + "notes/create", json = {"fileIds": [file_id], "text": "%s\nURL: %s\n" % (msg, image_src), "i": self.misskey_token})
|
||||
# If error, print error and exit
|
||||
if create_note_request.status_code != 200:
|
||||
print("Error: " + create_note_request.json()["error"]["message"], file=log_file)
|
||||
|
@ -119,14 +124,14 @@ class BotInstance:
|
|||
def bot_process(self, log_file):
|
||||
# Get a random image making sure it's not in the saved image list
|
||||
while True:
|
||||
image_url, image_rating, cur_page_number = self.get_random_image(max_page_number=self.max_page_number)
|
||||
image_url, image_src, image_rating, cur_page_number = self.get_random_image(max_page_number=self.max_page_number)
|
||||
if cur_page_number < self.max_page_number:
|
||||
self.max_page_number = cur_page_number
|
||||
if image_url is None:
|
||||
continue
|
||||
break
|
||||
# Download and post the image to Misskey
|
||||
self.post_image(image_url, image_rating, log_file)
|
||||
self.post_image(image_url, image_src, image_rating, log_file)
|
||||
|
||||
def generate_config(defaults):
|
||||
if os.path.exists("config.json"):
|
||||
|
|
Loading…
Reference in a new issue