From 348c9b9619aec8ac82eedd45d47e1ff39a44fa72 Mon Sep 17 00:00:00 2001 From: armatik Date: Sun, 9 Jul 2023 16:15:06 +0300 Subject: [PATCH] new code --- .../MessageHandler => DataBase/UserList | 0 src/TelegramBot/MessageHandler.py | 14 ++++++++ .../{MessageSendler => MessageSendler.py} | 0 src/TelegramBot/init | 0 src/TelegramBot/main.py | 36 +++++++++++++++++++ src/config.ini | 7 ++++ 6 files changed, 57 insertions(+) rename src/TelegramBot/MessageHandler => DataBase/UserList (100%) create mode 100644 src/TelegramBot/MessageHandler.py rename src/TelegramBot/{MessageSendler => MessageSendler.py} (100%) delete mode 100644 src/TelegramBot/init create mode 100644 src/TelegramBot/main.py create mode 100644 src/config.ini diff --git a/src/TelegramBot/MessageHandler b/DataBase/UserList similarity index 100% rename from src/TelegramBot/MessageHandler rename to DataBase/UserList diff --git a/src/TelegramBot/MessageHandler.py b/src/TelegramBot/MessageHandler.py new file mode 100644 index 0000000..5311712 --- /dev/null +++ b/src/TelegramBot/MessageHandler.py @@ -0,0 +1,14 @@ +# Получение сообщений в чате, и запись их в базу данных +from aiogram import types + +from src.TelegramBot.main import dp + + +@dp.message_handler() +async def send(message: types.Message): + # Получение сообщений в чате, и запись их в базу данных + # Проверка на то, что сообщение не пустое и не отправлено в чате содержащим ChatType = 1 в базе данных chatlist + if (message.chat.type == "group" or message.chat.type == "supergroup") and \ + message.text != '' and message.text != ' ': return None + else: + # Проверка статуса ChatType в базе данных chatlist diff --git a/src/TelegramBot/MessageSendler b/src/TelegramBot/MessageSendler.py similarity index 100% rename from src/TelegramBot/MessageSendler rename to src/TelegramBot/MessageSendler.py diff --git a/src/TelegramBot/init b/src/TelegramBot/init deleted file mode 100644 index e69de29..0000000 diff --git a/src/TelegramBot/main.py b/src/TelegramBot/main.py new file mode 100644 index 0000000..9c981b0 --- /dev/null +++ b/src/TelegramBot/main.py @@ -0,0 +1,36 @@ +# Файл с инициализацией всех процессов телеграмм бота и запуском API OpenAI + +# Импорт библиотек +import os +import openai +import configparser +import sqlite3 + +from aiogram import Bot, Dispatcher, executor, types +from aiogram.contrib.fsm_storage.memory import MemoryStorage + +from MessageHandler import * + + +# Импорт переменных из файла .ini +config = configparser.ConfigParser() +config.read(os.path.join(os.path.dirname(__file__), 'config.ini')) + +TOKEN = config['Telegram']['token'] +OPENAI_API_KEY = config['OpenAI']['api_key'] + +# Инициализация бота + +bot = Bot(token=TOKEN) +dp = Dispatcher(bot, storage=MemoryStorage()) + +# Инициализация API OpenAI + +openai.api_key = OPENAI_API_KEY + +# Инициализация базы данных OCAB_DB в папке DataBase/OCAB_DB.db +database = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'DataBase/OCAB_DB.db')) +cursor = database.cursor() + +if __name__ == '__main__': + executor.start_polling(dp, skip_updates=True) \ No newline at end of file diff --git a/src/config.ini b/src/config.ini new file mode 100644 index 0000000..c2ac29c --- /dev/null +++ b/src/config.ini @@ -0,0 +1,7 @@ +[Telegram] +token="....." +admin_password="Test_pass" # ONLY FOR ADDING CHAT TO ADMIN LIST! + +[OpenAI] +token="....." +chat_model="....." \ No newline at end of file