/nearby, subscriptions check, geocoding #2
@ -1,15 +1,34 @@
|
|||||||
from app import app, isAnAdmin
|
from app import app
|
||||||
from pyrogram import filters
|
from pyrogram import filters
|
||||||
from pyrogram.types import Message
|
from pyrogram.types import Message
|
||||||
from pyrogram.client import Client
|
from pyrogram.client import Client
|
||||||
|
from classes.holo_user import HoloUser
|
||||||
|
from modules import custom_filters
|
||||||
from modules.utils import configGet, should_quote
|
from modules.utils import configGet, should_quote
|
||||||
from modules.database import col_applications
|
from modules.database import col_applications
|
||||||
|
|
||||||
# Nearby command ===============================================================================================================
|
# Nearby command ===============================================================================================================
|
||||||
@app.on_message(~ filters.scheduled & (filters.private | (filters.chat(configGet("admin_group")) | filters.chat(configGet("destination_group")))) & filters.command(["nearby"], prefixes=["/"]))
|
@app.on_message(~ filters.scheduled & (custom_filters.allowed | custom_filters.admin) & (filters.private | (filters.chat(configGet("admin_group")) | filters.chat(configGet("destination_group")))) & filters.command(["nearby"], prefixes=["/"]))
|
||||||
async def cmd_nearby(app: Client, msg: Message):
|
async def cmd_nearby(app: Client, msg: Message):
|
||||||
if (await isAnAdmin(msg) is True) or (col_applications.find_one({"user": msg.from_user.id}) is not None):
|
|
||||||
|
if len(msg.command) < 1:
|
||||||
|
application = col_applications.find_one({"user": msg.from_user})
|
||||||
|
if application is None:
|
||||||
|
await msg.reply_text("You have no application")
|
||||||
|
return
|
||||||
|
location = application["application"]["3"]["loc"][0], application["application"]["3"]["loc"][1]
|
||||||
|
else:
|
||||||
|
# find location
|
||||||
|
location = "result"
|
||||||
|
|
||||||
|
output = []
|
||||||
|
users_nearby = col_applications.find( {"application": {"loc": { "$within": { "$center": [[location], 5] } }}} )
|
||||||
|
|
||||||
|
for user in users_nearby:
|
||||||
|
output.append(user)
|
||||||
|
|
||||||
await msg.reply_text("Yes, I exist.", quote=should_quote(msg))
|
await msg.reply_text("Yes, I exist.", quote=should_quote(msg))
|
||||||
|
|
||||||
# if not path.exists(f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json"):
|
# if not path.exists(f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json"):
|
||||||
# jsonSave(jsonLoad(f"{configGet('data', 'locations')}{sep}sponsor_default.json"), f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json")
|
# jsonSave(jsonLoad(f"{configGet('data', 'locations')}{sep}sponsor_default.json"), f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json")
|
||||||
# sponsor = jsonLoad(f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json")
|
# sponsor = jsonLoad(f"{configGet('data', 'locations')}{sep}sponsors{sep}{msg.from_user.id}.json")
|
||||||
|
Reference in New Issue
Block a user