Skip to content

Commit d229362

Browse files
committed
remove sql support and added mongo db support
1 parent 8dec82d commit d229362

File tree

4 files changed

+59
-13
lines changed

4 files changed

+59
-13
lines changed

config.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
#(©)CodeXBotz
2+
3+
4+
5+
16
import os
27
import logging
38
from logging.handlers import RotatingFileHandler
49

10+
11+
512
#Bot token @Botfather
613
TG_BOT_TOKEN = os.environ.get("TG_BOT_TOKEN", "")
714

@@ -19,6 +26,7 @@
1926

2027
#Database
2128
DB_URI = os.environ.get("DATABASE_URL", "")
29+
DB_NAME = os.environ.get("DATABASE_NAME", "filesharexbot")
2230

2331
#force sub channel id, if you want enable force sub
2432
FORCE_SUB_CHANNEL = int(os.environ.get("FORCE_SUB_CHANNEL", "0"))

database/database.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#(©)CodeXBotz
2+
3+
4+
5+
6+
import pymongo, os
7+
from config import DB_URI, DB_NAME
8+
9+
10+
dbclient = pymongo.MongoClient(DB_URI)
11+
database = dbclient[DB_NAME]
12+
13+
14+
user_data = database['users']
15+
16+
17+
18+
async def present_user(user_id : int):
19+
found = user_data.find_one({'_id': user_id})
20+
if found:
21+
return True
22+
else:
23+
return False
24+
25+
async def add_user(user_id: int):
26+
user_data.insert_one({'_id': user_id})
27+
return
28+
29+
async def full_userbase():
30+
user_docs = user_data.find()
31+
user_ids = []
32+
for doc in user_docs:
33+
user_ids.append(doc['_id'])
34+
35+
return user_ids
36+
37+
async def del_user(user_id: int):
38+
user_data.delete_one({'_id': user_id})
39+
return

plugins/start.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from bot import Bot
1010
from config import ADMINS, FORCE_MSG, START_MSG, OWNER_ID, CUSTOM_CAPTION, DISABLE_CHANNEL_BUTTON, PROTECT_CONTENT
1111
from helper_func import subscribed, encode, decode, get_messages
12-
from database.sql import add_user, query_msg, full_userbase
12+
from database.database import add_user, del_user, full_userbase, present_user
1313

1414

1515
#=====================================================================================##
@@ -24,11 +24,11 @@
2424
@Bot.on_message(filters.command('start') & filters.private & subscribed)
2525
async def start_command(client: Client, message: Message):
2626
id = message.from_user.id
27-
user_name = '@' + message.from_user.username if message.from_user.username else None
28-
try:
29-
await add_user(id, user_name)
30-
except:
31-
pass
27+
if not await present_user(id):
28+
try:
29+
await add_user(id)
30+
except:
31+
pass
3232
text = message.text
3333
if len(text)>7:
3434
try:
@@ -153,7 +153,7 @@ async def get_users(client: Bot, message: Message):
153153
@Bot.on_message(filters.private & filters.command('broadcast') & filters.user(ADMINS))
154154
async def send_text(client: Bot, message: Message):
155155
if message.reply_to_message:
156-
query = await query_msg()
156+
query = await full_userbase()
157157
broadcast_msg = message.reply_to_message
158158
total = 0
159159
successful = 0
@@ -162,8 +162,7 @@ async def send_text(client: Bot, message: Message):
162162
unsuccessful = 0
163163

164164
pls_wait = await message.reply("<i>Broadcasting Message.. This will Take Some Time</i>")
165-
for row in query:
166-
chat_id = int(row[0])
165+
for chat_id in query:
167166
try:
168167
await broadcast_msg.copy(chat_id)
169168
successful += 1
@@ -172,8 +171,10 @@ async def send_text(client: Bot, message: Message):
172171
await broadcast_msg.copy(chat_id)
173172
successful += 1
174173
except UserIsBlocked:
174+
await del_user(chat_id)
175175
blocked += 1
176176
except InputUserDeactivated:
177+
await del_user(chat_id)
177178
deleted += 1
178179
except:
179180
unsuccessful += 1

requirements.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,5 @@ pyrogram
33
TgCrypto
44
Pyromod
55
# --- For-Database ------------ #
6-
sqlalchemy~=1.3.23
7-
psycopg2-binary
8-
feedparser
9-
6+
pymongo
7+
dnspython

0 commit comments

Comments
 (0)