Skip to content

Commit 90d2bc4

Browse files
authored
Merge branch 'develop' into fix_websocket_disconnect
2 parents 2cc3d23 + 2cf0a02 commit 90d2bc4

5 files changed

Lines changed: 32 additions & 1 deletion

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ pipenv run pre-commit install
153153
にゃーん ... 「よしよし」と返す。
154154
おみくじ ... おみくじを引いて返す。
155155
version ... バージョン情報を表示する。
156+
chat [text] ... ChatGPTで文章生成する。
157+
画像生成 [text] ... openAIのImage generationで画像生成する。
156158
```
157159

158160
## バージョンアップによる変更点

commands.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ text delete [int] ... 指定した番号[int]のパワーワードを削除す
1919
にゃーん ... 「よしよし」と返す。
2020
おみくじ ... おみくじを引いて返す。
2121
version ... バージョン情報を表示する。
22+
chat [text] ... ChatGPTで文章生成する。
23+
画像生成 [text] ... openAIのImage generationで画像生成する。

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)