Telegram 봇에 메시지를 보내고 위치도 전송해봤다. 그 과정에서 Telegram 토큰을 변수에 담아서 사용했는데 코드 상에서 노출되었기 때문에 보안상 굉장히 좋지 않다.
(venv) $ pip install python-dotenv
https://pypi.org/project/python-dotenv/
https://saurabh-kumar.com/python-dotenv/reference/dotenv/
설치가 끝나면 .env
파일을 작성해준다. 문자열이더라도 따옴표는 안 붙여도 된다. 파일 경로는 아무데나 저장해도 상관없는데 보통 프로젝트 루트 디렉토리에 저장한다.
# .env
TELEGRAM_TOKEN=1038******:AAHQ*******************
WEATHER_API_KEY=00d69********************989
# telegram_bot.py
import os
import telegram
from dotenv import load_dotenv
load_dotenv(verbose=True)
TELEGRAM_TOKEN = os.getenv('TELEGRAM_TOKEN')
bot = telegram.Bot(token=TELEGRAM_TOKEN)
load_dotenv()
메소드는 아래와 같이 정의되어 있다.
def load_dotenv(
dotenv_path=None,
stream=None,
verbose=False,
override=False,
**kwargs
)