예제 #1
0
def choser(cmd, pack, blacklist=None):
    if blacklist is None:
        blacklist = {}
    docs = None

    @ninjadeep.on(admin_cmd(pattern=rf"{cmd}", outgoing=True))
    async def handler(event):
        await event.delete()

        nonlocal docs
        if docs is None:
            docs = [
                utils.get_input_document(x) for x in (await borg(
                    functions.messages.GetStickerSetRequest(
                        types.InputStickerSetShortName(pack)))).documents
                if x.id not in blacklist
            ]

        await event.respond(file=random.choice(docs))
예제 #2
0
    fy = "http://getwallpapers.com" + random.choice(f)

    print(fy)

    if not os.path.exists("f.ttf"):

        urllib.request.urlretrieve(
            "https://github.com/rebel6969/mym/raw/master/Rebel-robot-Regular.ttf",
            "f.ttf",
        )

    urllib.request.urlretrieve(fy, "donottouch.jpg")


@ninjadeep.on(admin_cmd(pattern="avengersdp ?(.*)"))
async def main(event):

    await event.edit(
        "**Starting Avengers Profile Pic...\n\nDone !!! Check Your DP in 5 seconds. By [ninjadeep](https://github.com/Lovedeep-ViRk/ninjadeep)**"
    )

    while True:

        await animepp()

        file = await event.client.upload_file("donottouch.jpg")

        await event.client(functions.photos.UploadProfilePhotoRequest(file))

        os.system("rm -rf donottouch.jpg")
예제 #3
0
"""IX.IO pastebin like site
Syntax: .paste"""
import os
from datetime import datetime

import requests

from ninjadeep.utils import admin_cmd


def progress(current, total):
    logger.info("Downloaded {} of {}\nCompleted {}".format(
        current, total, (current / total) * 100))


@ninjadeep.on(admin_cmd(pattern="paste ?(.*)"))
@ninjadeep.on(sudo_cmd(pattern="paste ?(.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    start = datetime.now()
    if not os.path.isdir(Config.TMP_DOWNLOAD_DIRECTORY):
        os.makedirs(Config.TMP_DOWNLOAD_DIRECTORY)
    input_str = event.pattern_match.group(1)
    message = "SYNTAX: `.paste <long text to include>`"
    if input_str:
        message = input_str
    elif event.reply_to_msg_id:
        previous_message = await event.get_reply_message()
        if previous_message.media:
            downloaded_file_name = await borg.download_media(
예제 #4
0
"""Invite the user(s) to the current chat
Syntax: .invite <User(s)>"""

from telethon import functions

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="invite ?(.*)"))
@ninjadeep.on(sudo_cmd(pattern="invite ?(.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    to_add_users = event.pattern_match.group(1)
    if event.is_private:
        await eor(event, "`.invite` users to a chat, not to a Private Message")
    else:
        logger.info(to_add_users)
        if not event.is_channel and event.is_group:
            # https://lonamiwebs.github.io/Telethon/methods/messages/add_chat_user.html
            for user_id in to_add_users.split(" "):
                try:
                    await borg(
                        functions.messages.AddChatUserRequest(
                            chat_id=event.chat_id,
                            user_id=user_id,
                            fwd_limit=1000000))
                except Exception as e:
                    await event.reply(str(e))
            await eor(event, "Invited Successfully")
        else:
예제 #5
0
from emoji import emojize
from telethon.errors import (
    ChannelInvalidError,
    ChannelPrivateError,
    ChannelPublicGroupNaError,
)
from telethon.tl.functions.channels import GetFullChannelRequest, GetParticipantsRequest
from telethon.tl.functions.messages import GetFullChatRequest, GetHistoryRequest
from telethon.tl.types import ChannelParticipantsAdmins, MessageActionChannelMigrateFrom
from telethon.utils import get_input_location

from ninjadeep import CMD_HELP
from ninjadeep.utils import admin_cmd, sudo_cmd


@ninjadeep.on(admin_cmd(pattern="chatinfo(?: |$)(.*)", outgoing=True))
@ninjadeep.on(sudo_cmd(pattern="chatinfo(?: |$)(.*)"))
async def info(event):
    await eor(event, "`Analysing the chat...`")
    chat = await get_chatinfo(event)
    caption = await fetch_info(chat, event)
    try:
        await eor(event, caption, parse_mode="html")
    except Exception as e:
        print("Exception:", e)
        await eor(event, "`An unexpected error has occurred.`")
    return


async def get_chatinfo(event):
    chat = event.pattern_match.group(1)
예제 #6
0
                int(snip.media_access_hash),
                snip.media_file_reference,
            )
        else:
            media = None
        message_id = event.message.id
        if event.reply_to_msg_id:
            message_id = event.reply_to_msg_id
        await borg.send_message(event.chat_id,
                                snip.reply,
                                reply_to=message_id,
                                file=media)
        await event.delete()


@ninjadeep.on(admin_cmd(pattern="snips (.*)"))
async def on_snip_save(event):
    name = event.pattern_match.group(1)
    msg = await event.get_reply_message()
    if msg:
        snip = {"type": TYPE_TEXT, "text": msg.message or ""}
        if msg.media:
            media = None
            if isinstance(msg.media, types.MessageMediaPhoto):
                media = utils.get_input_photo(msg.media.photo)
                snip["type"] = TYPE_PHOTO
            elif isinstance(msg.media, types.MessageMediaDocument):
                media = utils.get_input_document(msg.media.document)
                snip["type"] = TYPE_DOCUMENT
            if media:
                snip["id"] = media.id
예제 #7
0
"""Get weather data using OpenWeatherMap
Syntax: .weather <Location>
.wttr <location> """

import io
import time

import aiohttp

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="weathers (.*)"))
@ninjadeep.on(sudo_cmd(pattern="weathers (.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    sample_url = (
        "https://api.openweathermap.org/data/2.5/weather?q={}&APPID={}&units=metric"
    )
    input_str = event.pattern_match.group(1)
    async with aiohttp.ClientSession() as session:
        response_api_zero = await session.get(
            sample_url.format(input_str, Config.OPEN_WEATHER_MAP_APPID))
    response_api = await response_api_zero.json()
    if response_api["cod"] == 200:
        country_code = response_api["sys"]["country"]
        country_time_zone = int(response_api["timezone"])
        sun_rise_time = int(response_api["sys"]["sunrise"]) + country_time_zone
        sun_set_time = int(response_api["sys"]["sunset"]) + country_time_zone
        await eor(
예제 #8
0
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2

from telethon.tl.types import ChannelParticipantsAdmins

from ninjadeep.utils import admin_cmd

# Added to ninjadeep by @its_xditya


@ninjadeep.on(admin_cmd(pattern=r"administrator", outgoing=True))
@ninjadeep.on(sudo_cmd(pattern=r"administrator", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    mentions = "Administrators in the chat : "
    chat = await event.get_input_chat()
    async for x in borg.iter_participants(chat,
                                          filter=ChannelParticipantsAdmins):
        mentions += f" \n [{x.first_name}](tg://user?id={x.id})"
    reply_message = None
    if event.reply_to_msg_id:
        reply_message = await event.get_reply_message()
        await reply_message.reply(mentions)
    else:
        await event.reply(mentions)
    await event.delete()


# Added to ninjadeep by @its_xditya
예제 #9
0
    "\U0001F780-\U0001F7FF"  # Geometric Shapes Extended
    "\U0001F800-\U0001F8FF"  # Supplemental Arrows-C
    "\U0001F900-\U0001F9FF"  # Supplemental Symbols and Pictographs
    "\U0001FA00-\U0001FA6F"  # Chess Symbols
    "\U0001FA70-\U0001FAFF"  # Symbols and Pictographs Extended-A
    "\U00002702-\U000027B0"  # Dingbats
    "]+"
)


def deEmojify(inputString: str) -> str:
    """Remove emojis and other non-safe characters from string"""
    return re.sub(EMOJI_PATTERN, "", inputString)


@ninjadeep.on(admin_cmd(outgoing=True, pattern="waifu(?: |$)(.*)"))
@ninjadeep.on(sudo_cmd(pattern="waifu(?: |$)(.*)"))
async def waifu(animu):
    # """Creates random anime sticker!"""

    text = animu.pattern_match.group(1)
    if not text:
        if animu.is_reply:
            text = (await animu.get_reply_message()).message
        else:
            await animu.edit("`You haven't written any article, Waifu is going away.`")
            return
    animus = [1, 3, 7, 9, 13, 22, 34, 35, 36, 37, 43, 44, 45, 52, 53, 55]
    sticcers = await bot.inline_query(
        "stickerizerbot", f"#{random.choice(animus)}{(deEmojify(text))}"
    )
예제 #10
0
import sys

from telethon import __version__, functions

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="mf ?(.*)"))  # pylint:disable=E0602
async def _(event):
    if event.fwd_from:
        return
    splugin_name = event.pattern_match.group(1)
    if splugin_name in borg._plugins:
        s_help_string = borg._plugins[splugin_name].__doc__
    else:
        s_help_string = ""
    help_string = """
......................................../´¯/)
......................................,/¯../
...................................../..../
..................................../´.¯/
..................................../´¯/
..................................,/¯../
................................../..../
................................./´¯./
................................/´¯./
..............................,/¯../
............................./..../
............................/´¯/
........................../´¯./
........................,/¯../
예제 #11
0
"""Take screenshot of any website
Syntax: .screencapture <Website URL>"""

import io

import requests

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="screencapture (.*)"))
@ninjadeep.on(sudo_cmd(pattern="screencapture (.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    if Config.SCREEN_SHOT_LAYER_ACCESS_KEY is None:
        await eor(
            event,
            "Need to get an API key from https://screenshotlayer.com/product \nModule stopping!",
        )
        return
    await eor(event, "Processing ...")
    sample_url = "https://api.screenshotlayer.com/api/capture?access_key={}&url={}&fullpage={}&viewport={}&format={}&force={}"
    input_str = event.pattern_match.group(1)
    response_api = requests.get(
        sample_url.format(Config.SCREEN_SHOT_LAYER_ACCESS_KEY, input_str, "1",
                          "2560x1440", "PNG", "1"))
    # https://stackoverflow.com/a/23718458/4723940
    contentType = response_api.headers["content-type"]
    if "image" in contentType:
        with io.BytesIO(response_api.content) as screenshot_image:
예제 #12
0
"""Take screenshot of any website
Syntax: .screenlong <Website URL>"""

import io
import traceback
from datetime import datetime

from selenium import webdriver

from ninjadeep.ninjadeepConfig import Config
from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="screenlong (.*)"))
@ninjadeep.on(sudo_cmd(pattern="screenlong (.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    if Config.CHROME_BIN is None:
        await eor(event, "Need to install Chrome. Module Stopping.")
        return
    a = await eor(event, "Processing ...")
    start = datetime.now()
    try:
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument("--ignore-certificate-errors")
        chrome_options.add_argument("--test-type")
        chrome_options.add_argument("--headless")
        # https://stackoverflow.com/a/53073789/4723940
        chrome_options.add_argument("--no-sandbox")
        chrome_options.add_argument("--disable-dev-shm-usage")
예제 #13
0
""" Userbot module for purging unneeded messages(usually spam or ot). """

from asyncio import sleep

from telethon.errors import rpcbaseerrors

from ninjadeep import BOTLOG, BOTLOG_CHATID, CMD_HELP
from ninjadeep.ninjadeepConfig import Var
from ninjadeep.utils import admin_cmd, errors_handler

BOTLOG_CHATID = Var.PRIVATE_GROUP_ID


@ninjadeep.on(admin_cmd(outgoing=True, pattern="purge"))
@ninjadeep.on(sudo_cmd(allow_sudo=True, pattern="purge"))
@errors_handler
async def fastpurger(purg):
    """ For .purge command, purge all messages starting from the reply. """
    chat = await purg.get_input_chat()
    msgs = []
    count = 0

    async for msg in purg.client.iter_messages(chat,
                                               min_id=purg.reply_to_msg_id):
        msgs.append(msg)
        count = count + 1
        msgs.append(purg.reply_to_msg_id)
        if len(msgs) == 100:
            await purg.client.delete_messages(chat, msgs)
            msgs = []
예제 #14
0
    payload = {
        "isOverlayRequired": overlay,
        "apikey": api_key,
        "language": language,
    }
    with open(filename, "rb") as f:
        r = requests.post(
            "https://api.ocr.space/parse/image",
            files={filename: f},
            data=payload,
        )
    return r.json()


@ninjadeep.on(admin_cmd(pattern="ocr(?: |$)(.*)", outgoing=True))
@ninjadeep.on(sudo_cmd(pattern="ocr(?: |$)(.*)", allow_sudo=True))
async def ocr(event):
    await eor(event, "`Reading...`")
    if not os.path.isdir(TEMP_DOWNLOAD_DIRECTORY):
        os.makedirs(TEMP_DOWNLOAD_DIRECTORY)
    lang_code = event.pattern_match.group(1)
    downloaded_file_name = await bot.download_media(
        await event.get_reply_message(), TEMP_DOWNLOAD_DIRECTORY)
    test_file = await ocr_space_file(filename=downloaded_file_name,
                                     language=lang_code)
    try:
        ParsedText = test_file["ParsedResults"][0]["ParsedText"]
    except BaseException:
        await eor(event, "`Couldn't read it.`\nTry using `.ocr eng`")
    else:
예제 #15
0
# Copyright ninjadeep
# For @ninjadeepSUPPORT coded by @Lovedeep-ViRk
# Kangers keep credits else I'll take down 🧐

import random
import sys

from telethon import version

from ninjadeep import ALIVE_NAME
from ninjadeep.utils import admin_cmd

DEFAULTUSER = str(ALIVE_NAME) if ALIVE_NAME else "NinjaDeep User"

ONLINESTR = [
    "█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ \n█░╦─╦╔╗╦─╔╗╔╗╔╦╗╔╗░█  █░║║║╠─║─║─║║║║║╠─░█ \n█░╚╩╝╚╝╚╝╚╝╚╝╩─╩╚╝░█ \n█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ \n\n**NinjaDeep is online.**\n\n**All systems functioning normally !** \n\n**Bot by** [Lovedeep ViRk 🇮🇳](tg://user?id=1324185738) \n\n**More help -** @NinjaDeepSUPPORT \n\n           [🚧 GitHub Repository 🚧](https://github.com/Lovedeep-ViRk/NinjaDeep)",
    f"╦─╦╔╗╦─╔╗╔╗╔╦╗╔╗\n║║║╠─║─║─║║║║║╠─\n╚╩╝╚╝╚╝╚╝╚╝╩─╩╚╝\n              **Welcome to NinjaDeep**\n\n**Hey master! I'm alive. All systems online and functioning normally ✅**\n\n**✔️ Telethon version:** `{version.__version__}` \n\n**✔️ Python:** `{sys.version}` \n\n✔️ More info: @NinjaDeepSUPPORT \n\n✔️ Created by: [Lovedeep ViRk🇮🇳](tg://user?id=1324185738) \n\n**✔️ Database status:** All ok 👌 \n\n**✔️ My master:** {DEFAULTUSER} \n\n        [🌟 Github repository 🌟](https://github.com/Lovedeep-ViRk/NinjaDeep)",
]


@ninjadeep.on(admin_cmd(outgoing=True, pattern="NinjaOnline"))
@ninjadeep.on(sudo_cmd(allow_sudo=True, pattern="NinjaOnline"))
async def NinjaOnline(event):
    """ Greet everyone! """
    if not event.text[0].isalpha() and event.text[0] not in ("/", "#", "@",
                                                             "!"):
        await eor(event, random.choice(ONLINESTR))
예제 #16
0
# Join @ninjadeepHelp for custom plugins

import asyncio

from ninjadeep.utils import admin_cmd, sudo_cmd


@ninjadeep.on(admin_cmd(pattern="cmds", outgoing=True))
@ninjadeep.on(sudo_cmd(pattern="cmds", allow_sudo=True))
async def install(event):
    if event.fwd_from:
        return
    cmd = "ls userbot/plugins"
    process = await asyncio.create_subprocess_shell(
        cmd, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE
    )
    stdout, stderr = await process.communicate()
    o = stdout.decode()
    _o = o.split("\n")
    o = "\n".join(_o)
    OUTPUT = f"**List of Plugins:**\n`{o}`\n\n**TIP:** __If you want to know the commands for a plugin, do:-__ \n `.help <plugin name>` **without the < > brackets.**\n__All plugins might not work directly.\n (c)NinjaDeep."
    await eor(event, OUTPUT)
예제 #17
0
from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="tspam"))
async def tmeme(e):
    tspam = str(e.text[7:])
    message = tspam.replace(" ", "")
    for letter in message:
        await e.respond(letter)
    await e.delete()
예제 #18
0
#    it under the terms of the GNU Affero General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.

#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.

#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <https://www.gnu.org/licenses/>.
"""
Echoes the message via your bot
"""

from ninjadeep.utils import admin_cmd, sudo_cmd


@ninjadeep.on(admin_cmd(pattern=r"echo (.*)"))
@ninjadeep.on(sudo_cmd(pattern=r"echo ( .*)", allow_sudo=True))
async def _(event):
    bxt = Var.TG_BOT_USER_NAME_BF_HER
    try:
        tex = str(event.text[6:])
        await tgbot.send_message(event.chat_id, tex)
        await event.delete()
    except BaseException:
        await event.client.send_message(event.chat_id,
                                        f"Please add @{bxt} here first!")
        await event.delete()
예제 #19
0
Available commands:
.ggl - howtogoogle
.duckduckgo - search on duckduckgo
.go - search on google
"""

from re import findall

import requests
from search_engine_parser import GoogleSearch

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(outgoing=True, pattern=r"gs (.*)"))
@ninjadeep.on(sudo_cmd(allow_sudo=True, pattern=r"gs (.*)"))
async def gsearch(q_event):
    """ For .google command, do a Google search from @ninjadeepHelp. """
    match = q_event.pattern_match.group(1)
    page = findall(r"page=\d+", match)
    try:
        page = page[0]
        page = page.replace("page=", "")
        match = match.replace("page=" + page[0], "")
    except IndexError:
        page = 1
    search_args = (str(match), int(page))
    gsearch = GoogleSearch()
    gresults = await gsearch.async_search(*search_args)
    msg = ""
예제 #20
0
"""Check your internet speed powered by speedtest.net
Syntax: .speedtest
Available Options: image, file, text"""
from datetime import datetime

import speedtest

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="speedtest ?(.*)"))
@ninjadeep.on(sudo_cmd(pattern="speedtest ?(.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    input_str = event.pattern_match.group(1)
    as_text = True
    as_document = False
    if input_str == "image":
        as_document = False
    elif input_str == "file":
        as_document = True
    elif input_str == "text":
        as_text = True
    await eor(event, "`Calculating my internet speed. Please wait!`")
    start = datetime.now()
    s = speedtest.Speedtest()
    s.get_best_server()
    s.download()
    s.upload()
    end = datetime.now()
예제 #21
0
"""DA.GD helpers in @UniBorg
Available Commands:
.isup URL
.dns google.com
.url <long url>
.unshort <short url>"""
import requests

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="dns (.*)"))
@ninjadeep.on(sudo_cmd(pattern="dns (.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    input_str = event.pattern_match.group(1)
    sample_url = "https://da.gd/dns/{}".format(input_str)
    response_api = requests.get(sample_url).text
    if response_api:
        await eor(event,
                  "DNS records of {} are \n{}".format(input_str, response_api))
    else:
        await eor(event,
                  "i can't seem to find {} on the internet".format(input_str))


@ninjadeep.on(admin_cmd(pattern="url (.*)"))
@ninjadeep.on(sudo_cmd(pattern="url (.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
예제 #22
0
"""Emoji
Available Commands:
.np
"""

import asyncio

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="np"))
async def _(event):
    if event.fwd_from:
        return
    animation_interval = 0.1
    animation_ttl = range(0, 36)
    # input_str = event.pattern_match.group(1)
    # if input_str == "np":
    await event.edit("np")
    animation_chars = [
        "No",
        "Problem",
        "Sar 😇",
        "No Problem Sar 😇",
        "No Problem Sar 😇. Jao",
        "No Problem Sar 😇. Jao gand",
        "No Problem Sar 😇. Jao gand Marao",
    ]

    for i in animation_ttl:
예제 #23
0
import asyncio

from ninjadeep.plugins.sql_helper.mute_sql import is_muted, mute, unmute
from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(outgoing=True, pattern=r"gmute ?(\d+)?"))
@ninjadeep.on(sudo_cmd(allow_sudo=True, pattern=r"gmute ?(\d+)?"))
async def startgmute(event):
    private = False
    if event.fwd_from:
        return
    elif event.is_private:
        await eor(event, "Unexpected issues or ugly errors may occur!")
        await asyncio.sleep(3)
        private = True
    reply = await event.get_reply_message()
    if event.pattern_match.group(1) is not None:
        userid = event.pattern_match.group(1)
    elif reply is not None:
        userid = reply.sender_id
    elif private is True:
        userid = event.chat_id
    else:
        return await eor(
            event,
            "Please reply to a user or add their into the command to gmute them."
        )
    event.chat_id
    await event.get_chat()
    if is_muted(userid, "gmute"):
예제 #24
0
# Credits @buddhhu
# This software is a part of https://github.com/buddhhu/Plus
#
# Ported to ninjadeep by @its_xditya
#

import os

import pygments
from pygments.formatters import ImageFormatter
from pygments.lexers import Python3Lexer

from ninjadeep.utils import admin_cmd, sudo_cmd


@ninjadeep.on(admin_cmd(pattern=r"ncode"))
@ninjadeep.on(sudo_cmd(pattern=r"ncode", allow_sudo=True))
async def coder_print(event):
    a = await event.client.download_media(await event.get_reply_message(),
                                          Var.TEMP_DOWNLOAD_DIRECTORY)
    s = open(a, "r")
    c = s.read()
    s.close()
    pygments.highlight(
        f"{c}",
        Python3Lexer(),
        ImageFormatter(font_name="DejaVu Sans Mono", line_numbers=True),
        "result.png",
    )
    res = await event.client.send_message(
        event.chat_id,
예제 #25
0
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <https://www.gnu.org/licenses/>.

from telegraph import Telegraph
from telethon import events
from telethon.errors.rpcerrorlist import YouBlockedUserError

from ninjadeep.ninjadeepConfig import Var
from ninjadeep.utils import admin_cmd, sudo_cmd

telegraph = Telegraph()
mee = telegraph.create_account(short_name="ninjadeep")


@ninjadeep.on(admin_cmd(pattern="purl ?(.*)"))
@ninjadeep.on(sudo_cmd(pattern="purl ?(.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    if not event.reply_to_msg_id:
        await event.reply("**Reply to any document.**")
        return
    reply_message = await event.get_reply_message()
    chat = "@FiletolinkTGbot"
    reply_message.sender
    await eor(event, "**Making public url...**")
    async with event.client.conversation(chat) as conv:
        try:
            response = conv.wait_event(
                events.NewMessage(incoming=True, from_users=1011636686))
예제 #26
0
                    creator = chat.creator
                    if admin or creator:
                        try:
                            await client.edit_permissions(
                                tele.chat_id, guser.id, view_messages=False
                            )
                            await tele.reply(
                                f"** Gbanned User Joined!!** \n"
                                f"**Victim Id**: [{guser.id}](tg://user?id={guser.id})\n"
                                f"**Action **  : `Banned`"
                            )
                        except BaseException:
                            return


@ninjadeep.on(admin_cmd(pattern="gban(?: |$)(.*)"))
@ninjadeep.on(sudo_cmd(pattern="gban(?: |$)(.*)", allow_sudo=True))
async def gspider(rk):
    lazy = rk
    sender = await lazy.get_sender()
    me = await lazy.client.get_me()
    if not sender.id == me.id:
        rkp = await lazy.reply("`processing...`")
    else:
        rkp = await lazy.edit("`processing...`")
    me = await rk.client.get_me()
    await rkp.edit(f"**Global Banning User!!**")
    my_mention = "[{}](tg://user?id={})".format(me.first_name, me.id)
    f"@{me.username}" if me.username else my_mention
    await rk.get_chat()
    a = b = 0
예제 #27
0
# python 3.7.1

"""Available Commands:
.wtf"""


import asyncio

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="(.*)"))
async def _(event):
    if event.fwd_from:
        return
    animation_interval = 0.3
    animation_ttl = range(0, 5)
    input_str = event.pattern_match.group(1)
    if input_str == "gay":
        await event.edit(input_str)
        animation_chars = [
            "HI USER",
            "HI USER , WAIT",
            "HI USER , WAIT ARE YOU....",
            "HI USER , WAIT ARE YOU UMH...",
            "HI USRR , WAIT ARE YOU A GAY??😬",
        ]

        for i in animation_ttl:

            await asyncio.sleep(animation_interval)
예제 #28
0
import json
import os
import subprocess

import requests

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern="labstack ?(.*)"))
@ninjadeep.on(sudo_cmd(pattern="labstack ?(.*)", allow_sudo=True))
async def labstack(event):
    if event.fwd_from:
        return
    await eor(event, "Processing...")
    input_str = event.pattern_match.group(1)
    reply = await event.get_reply_message()
    if input_str:
        filebase = input_str
    elif reply:
        filebase = await event.client.download_media(
            reply.media, Var.TEMP_DOWNLOAD_DIRECTORY)
    else:
        await eor(
            event,
            "Reply to a media file or provide a directory to upload the file to labstack",
        )
        return
    filesize = os.path.getsize(filebase)
    filename = os.path.basename(filebase)
    headers2 = {"Up-User-ID": "IZfFbjUcgoo3Ao3m"}
예제 #29
0
"""Emoji

Available Commands:

.ding"""

import asyncio

from ninjadeep.utils import admin_cmd


@ninjadeep.on(admin_cmd(pattern=r"(.*)", outgoing=True))
async def _(event):

    if event.fwd_from:

        return

    animation_interval = 0.3

    animation_ttl = range(0, 10)

    input_str = event.pattern_match.group(1)

    if input_str == "ding":

        await event.edit(input_str)

        animation_chars = [
            "🔴⬛⬛⬜⬜\n⬜⬜⬜⬜⬜\n⬜⬜⬜⬜⬜",
            "⬜⬜⬛⬜⬜\n⬜⬛⬜⬜⬜\n🔴⬜⬜⬜⬜",
예제 #30
0
Code written by @loxxi {iffuci}
Syntax: .iffuci"""
import os
from datetime import datetime

import requests

from ninjadeep.utils import admin_cmd


def progress(current, total):
    logger.info("Downloaded {} of {}\nCompleted {}".format(
        current, total, (current / total) * 100))


@ninjadeep.on(admin_cmd(pattern="iffuci ?(.*)"))
@ninjadeep.on(sudo_cmd(pattern="iffuci ?(.*)", allow_sudo=True))
async def _(event):
    if event.fwd_from:
        return
    start = datetime.now()
    if not os.path.isdir(Config.TMP_DOWNLOAD_DIRECTORY):
        os.makedirs(Config.TMP_DOWNLOAD_DIRECTORY)
    input_str = event.pattern_match.group(1)
    message = "SYNTAX: `.iffuci <long text to include>`"
    if input_str:
        message = input_str
    elif event.reply_to_msg_id:
        previous_message = await event.get_reply_message()
        if previous_message.media:
            downloaded_file_name = await borg.download_media(