import streamlit as st import json import base64 import hmac import hashlib import time import requests class ChatbotMessageSender: # chatbot api gateway url ep_path = 'https://2stgl9s6so.apigw.ntruss.com/custom/v1/XXXXXXXXXXXX' # chatbot custom secret key secret_key = 'ekVhWU9seXXXXXX' def req_message_send(self, user_input): timestamp = self.get_timestamp() request_body = { 'version': 'v2', 'userId': 'U47b00b58c90f8e47428af8b7bddcda3d1111111', 'timestamp': timestamp, 'bubbles': [ { 'type': 'text', 'data': { 'description': user_input } } ], 'event': 'send' } encode_request_body = json.dumps(request_body).encode('UTF-8') signature = self.make_signature(self.secret_key, encode_request_body) custom_headers = { 'Content-Type': 'application/json;UTF-8', 'X-NCP-CHATBOT_SIGNATURE': signature } response = requests.post(headers=custom_headers, url=self.ep_path, data=encode_request_body) return response @staticmethod def get_timestamp(): return int(time.time() * 1000) @staticmethod def make_signature(secret_key, request_body): secret_key_bytes = bytes(secret_key, 'UTF-8') signing_key = base64.b64encode(hmac.new(secret_key_bytes, request_body, digestmod=hashlib.sha256).digest()) return signing_key chatbot = ChatbotMessageSender() st.title("Ŭ·Î¹Ù 꺿°ú ÇÔ²²ÇÏ´Â ´ëÈ­") user_input = st.text_input("´ëÈ­¸¦ ½ÃÀÛÇØº¸¼¼¿ä!") if user_input: response = chatbot.req_message_send(user_input) data = response.json() text = data['bubbles'][0]['data']['description'] st.write(text)