Adjust the directory structure to prepare for merging into Master.

This commit is contained in:
Liu Zhicong
2023-09-27 11:40:46 -07:00
parent 5146bc1871
commit 030e4c4f52
115 changed files with 413 additions and 160 deletions
@@ -0,0 +1,43 @@
import os
from jarvis.functional_modules.functional_module import functional_module, CallerContext
from jarvis.utils.asynchttp import do_get, do_post
from jarvis.logger import logger
def reg_or_not():
twitter_service_address = os.getenv('DEMO_TWITTER_SERVICE_ADDRESS')
if twitter_service_address is None or twitter_service_address.strip() == '':
logger.warn("'DEMO_TWITTER_SERVICE_ADDRESS' is not provided, posting twitter function will not available")
return
@functional_module(
name="post_tweet",
description="post a tweet",
signature={
"content": {
"type": "string",
"description": "the content of the tweet"
}
})
async def post_tweet(context: CallerContext, content: str):
response = await do_post(twitter_service_address + "/twitter/tweet_post", '', {"content": content})
logger.info(f"response: {response}")
if response["type"] == 0:
await context.reply_text(f"Failed to post, duplicate tweets cannot be sent.")
elif response["type"] == 1:
await context.reply_text(f"You have not authorized twitter yet, please use the link below to authorize.")
await context.reply_text(response["authorize_url"])
elif response["type"] == 2:
await context.reply_text(f"Your twitter authorization has expired, please use the link below to authorize.")
await context.reply_text(response["authorize_url"])
elif response["type"] == 3:
await context.reply_text(f"The tweet has been sent successfully: {response['tweet']['url']}")
elif response["type"] == 4:
await context.reply_text(f"Failed to post due to an unknown error.")
else:
pass
return "Success"
reg_or_not()