Skip to content

Commit 693721a

Browse files
authored
Merge branch 'develop' into add_help_chatgpt
2 parents 38e97af + 3084416 commit 693721a

3 files changed

Lines changed: 28 additions & 1 deletion

File tree

library/chat_gpt.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,8 @@ def chat_gpt(message: str) -> str:
1313
],
1414
)
1515
return result.get("choices")[0].message.content
16+
17+
18+
def image_create(message: str) -> str:
19+
response = openai.Image.create(prompt=message, n=1, size="512x512")
20+
return response["data"][0]["url"]

plugins/analyze.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ def analyze_message(message: str) -> Callable[[BaseClient], None]:
3636
"にゃーん": lambda m: hato.yoshiyoshi,
3737
"おみくじ": lambda m: hato.omikuji,
3838
"chat": lambda m: partial(hato.chat, message=m[len("chat") :].strip()),
39+
"画像生成": lambda m: partial(
40+
hato.image_generate, message=m[len("画像生成") :].strip()
41+
),
3942
}
4043

4144
for key, method in conditions.items():

plugins/hato.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from git.exc import GitCommandNotFound, InvalidGitRepositoryError
1919

2020
import slackbot_settings as conf
21-
from library.chat_gpt import chat_gpt
21+
from library.chat_gpt import chat_gpt, image_create
2222
from library.clientclass import BaseClient
2323
from library.earthquake import generate_map_img, get_quake_list
2424
from library.geo import get_geo_data
@@ -476,3 +476,22 @@ def chat(message: str):
476476
"""
477477

478478
return chat_gpt(message=message)
479+
480+
481+
@action("画像生成", with_client=True)
482+
def image_generate(client: BaseClient, message: str):
483+
"""
484+
画像生成を行う
485+
"""
486+
487+
url = image_create(message=message)
488+
489+
"""
490+
urlから画像ファイルをダウンロードして、画像を返す
491+
"""
492+
with NamedTemporaryFile() as generated_file:
493+
generated_file.write(requests.get(url).content)
494+
client.upload(
495+
file=generated_file.name,
496+
filename="image.png",
497+
)

0 commit comments

Comments
 (0)