Added database support

This commit is contained in:
Profitroll 2023-02-14 14:45:52 +01:00
parent 08e03ba911
commit 8e0fee4cb9
3 changed files with 46 additions and 1 deletions

View File

@ -9,6 +9,13 @@
"api_hash": "", "api_hash": "",
"bot_token": "" "bot_token": ""
}, },
"database": {
"user": null,
"password": null,
"host": "127.0.0.1",
"port": 27017,
"name": "tgposter"
},
"mode": { "mode": {
"post": true, "post": true,
"submit": true, "submit": true,

37
modules/database.py Normal file
View File

@ -0,0 +1,37 @@
"""Module that provides all database columns and
creates geospatial index for col_applications"""
from pymongo import MongoClient
from ujson import loads
with open("config.json", "r", encoding="utf-8") as f:
db_config = loads(f.read())["database"]
f.close()
if db_config["user"] is not None and db_config["password"] is not None:
con_string = 'mongodb://{0}:{1}@{2}:{3}/{4}'.format(
db_config["user"],
db_config["password"],
db_config["host"],
db_config["port"],
db_config["name"]
)
else:
con_string = 'mongodb://{0}:{1}/{2}'.format(
db_config["host"],
db_config["port"],
db_config["name"]
)
db_client = MongoClient(con_string)
db = db_client.get_database(name=db_config["name"])
collections = db.list_collection_names()
for collection in ["sent", "banned", "submitted"]:
if not collection in collections:
db.create_collection(collection)
col_sent = db.get_collection("sent")
col_banned = db.get_collection("banned")
col_submitted = db.get_collection("submitted")

View File

@ -2,3 +2,4 @@ apscheduler~=3.10.0
pyrogram~=2.0.99 pyrogram~=2.0.99
requests~=2.28.2 requests~=2.28.2
psutil~=5.9.4 psutil~=5.9.4
pymongo~=4.3.3