Easy Googlechat Handler
Project description
pygooglechat
python 으로 Googlechat webhook 보내주는 친구
Python 개발자를 위한 Googlechat webhook 연동 패키지입니다.
주의 사항
- 이용 중 발생할 무서운 문제는 없지만 책임도 지지 않습니다.
- 비동기를 지원하지 않습니다. Celery , asyncio 에 의존하는 것은 아주 간단하지는 않기에 추후 다른 방법으로 시도하겠습니다.
- 비동기를 지원하지 않는 requests 모듈을 사용합니다. 요청 pending 을 피하기 위해 얄팍한 트릭을 제공합니다.
제공하는 것
- Googlechat webhook 을 아주 조금 더 쉽게 보낼 수 있는 클래스를 제공하고 추가로 제공하는 대단한 것은 없습니다.
- 라이브러리에서 Exception 을 처리하도록 옵션을 넣을 수 있습니다. (opt : raise_exception)
- http request 의 timetout 을 이용한 유사 비동기 옵션을 제공합니다.
Requirements
python3 이상이면 가능합니다. fstring 만 제거해도 버전을 많이 낮출 수 있네요.
python --version
-- or --
python3 --version
Installation
$ pip install pygooglechat
Get googlechat webhook url
사용법
아주쉽게
from pygooglechat import Googlechat
# webhook_url 으로 챗봇 객체를 만듭니다.
chat_bot = Googlechat(
webhook_url='"https://chat.googleapis.com/blablablablabla...',
)
# 챗봇한테 명령합니다.
chat_bot.send_chat("안녕 나는 챗봇이야")
제공하는 옵션
class GoogleChat:
def __init__(self, webhook_url: str, timeout: int = None, raise_exception: bool = False,
ignore_timeout: bool = False):
-
timeout : number(default None)
- http request 에 timeout 옵션을 넣습니다. 채팅을 보내는 것이 비즈니스 로직의 뒷편이라면 (중요도가 낮은, 즉 오지 않아도 크리티컬하지 않는 메세지라) 굳이 response 를 얻기 위해 기다리지 않아도 되겠죠.
- Default 는 none 이며 이는 구글챗의 http response 를 받을 때 까지 기다림을 의미합니다.
- response 가 필요 없을 때 이상적인 timeout면 은 개발자의 요청이 구글챗에 닿을때까지의 시간입니다. 제 경우에는 0.2초로도 충분하네요. 0.2초 타임아웃은 send_something 을 실행하는 로직이 0.2초+a 걸린다는 의미입니다.
- 조금 더 쉽게 말해, 0.2초만에 채팅 전송에 성공하지만 성공했다는 메세지를 구글 서버로부터 응답받기에는 2초 정도 걸리니, 1.8초를 아끼기 위한 동작이에요버
- 하지만 구글 서버로부터의 응답 시간보다 짧은 timeout 을 걸었을 경우 pygooglechat 은 Exception 을 발생시켜요. 이를 피하기 위해선 하기에 있는 ignore_timeout 옵션 설명을 읽어주세
-
raise_exception : bool(default False):
- 구글챗의 응답에 따라 예외를 발생시키고 싶을 수 있습니다. 200 번대의 응답이 아니라면 우리의 챗봇은 예외를 발생시켜 줍니다.
-
ignore_timeout : bool(default False)
- 구글챗 서버로의 요청에 timeout 예외가 발생했을 경우 해당 에러를 try-except 구문으로 라이브러리에서 처리해줍니다. timeout 옵션과 같이쓰면 좋겠죠.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygooglechat-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pygooglechat-0.0.1-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5aeb3fd20ef607a79d3e813fa3fcdf4891436a597d21414197b34ed4bd8e5ce4
|
|
| MD5 |
0b5f756ada73d464e86d5eb371a870f9
|
|
| BLAKE2b-256 |
eca97a9eb9fe1f8099d459bd05f300089ff6605d39f5e0d0b62e894d559354af
|