From 894d840e94419796bf4de73271ce4ae7483b86ec Mon Sep 17 00:00:00 2001 From: Sphericalkat Date: Sat, 25 May 2024 12:35:14 +0530 Subject: [PATCH] Initial commit Signed-off-by: Sphericalkat --- .env.sample | 2 ++ .gitignore | 3 +++ main.py | 28 ++++++++++++++++++++++++++++ settings.py | 8 ++++++++ 4 files changed, 41 insertions(+) create mode 100644 .env.sample create mode 100644 .gitignore create mode 100644 main.py create mode 100644 settings.py diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..27190ea --- /dev/null +++ b/.env.sample @@ -0,0 +1,2 @@ +BOT_TOKEN=your_bot_token_here +LOG_LEVEL=INFO # or CRITICAL, ERROR, WARNING, DEBUG, NOTSET diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b92495 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +.venv +*.pyc diff --git a/main.py b/main.py new file mode 100644 index 0000000..9600b17 --- /dev/null +++ b/main.py @@ -0,0 +1,28 @@ +import logging + +from telegram import Update +from telegram.ext import ContextTypes, ApplicationBuilder, CommandHandler + +from settings import Settings + +settings = Settings() +log_level = logging.getLevelNamesMapping().get(settings.log_level, logging.INFO) + + +logging.basicConfig( + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=log_level +) + + +async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): + await context.bot.send_message( + chat_id=update.effective_chat.id, text="Hello, deez nuts on yo chin!" + ) + + +if __name__ == "__main__": + app = ApplicationBuilder().token(settings.bot_token).build() + start_handler = CommandHandler("start", start) + app.add_handler(start_handler) + + app.run_polling() diff --git a/settings.py b/settings.py new file mode 100644 index 0000000..08f0f91 --- /dev/null +++ b/settings.py @@ -0,0 +1,8 @@ +from pydantic_settings import BaseSettings, SettingsConfigDict + + +class Settings(BaseSettings): + model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8") + + bot_token: str = "YOUR_BOT_TOKEN" + log_level: str = "INFO"