import os import asyncio from userge import userge, Message, Config from userge.utils import get_file_id_of_media S_LOG = userge.getCLogger(__name__) @userge.on_cmd( "spam", about={ 'header': "Spam some Messages", 'description': "Message Spam module just for fun." "Btw Don't over use this plugin or get" "ready for account ban or flood waits. " "For spamming text use '|' to separate count and text.", 'usage': "{tr}spam [spam count] | [spam message/reply to a media] | [Optional: delay]", 'examples': "**For Text:** `{tr}spam 2 | Durov will ban me for using this plugin`" }) async def spam(message: Message): replied = message.reply_to_message delay = str(0.1) is_str = "|" in message.input_str if (replied and replied.media and not is_str): if not os.path.isdir(Config.DOWN_PATH): os.makedirs(Config.DOWN_PATH)
import os import re import shutil from pathlib import Path import deezloader from deezloader.exceptions import NoDataApi from userge import Message, pool, userge from userge.plugins.misc.upload import audio_upload, doc_upload Clogger = userge.getCLogger(__name__) ARL_TOKEN = os.environ.get("ARL_TOKEN") TEMP_PATH = "deezdown_temp/" REX = re.compile( r"https?:\/\/(open/.spotify|www/.deezer|deezer)\.com\/" r"https?:\/\/(deezer\.page)\.com\/” r"(track|album|play|track)\/[A-Z0-9a-z]{3,}" ) ARL_HELP = """**Oops, Time to Help Yourself** [Here Help Yourself](https://www.google.com/search?q=how+to+get+deezer+arl+token) After getting Arl token Config `ARL_TOKEN` var in heroku""" @userge.on_cmd( "deezload", about={ "header": "DeezLoader for Userge", "description": "Download Songs/Albums/Playlists via " "Spotify or Deezer Links. " "\n<b>NOTE:</b> Music Quality is optional",
# Copyright (C) 2020 by UsergeTeam@Github, < https://github.com/UsergeTeam >. # # This file is part of < https://github.com/UsergeTeam/Userge > project, # and is released under the "GNU v3.0 License Agreement". # Please see < https://github.com/uaudith/Userge/blob/master/LICENSE > # # All rights reserved. import os from pyrogram import ChatPermissions from userge import userge, Message CHANNEL = userge.getCLogger(__name__) @userge.on_cmd("lock", about="""\ __use this to lock group permissions__ **Usage:** `Allows you to lock some common permission types in the chat.` [NOTE: Requires proper admin rights in the chat!!!] **Available types to Lock Permissions:** `all, msg, media, polls, invite, pin, info, webprev, animations, games, stickers, inlinebots` **Example:**
# setup the gPhotos v1 API OAUTH_SCOPE = [ "https://www.googleapis.com/auth/photoslibrary", "https://www.googleapis.com/auth/photoslibrary.sharing" ] # Redirect URI for installed apps, can be left as is REDIRECT_URI = "urn:ietf:wg:oauth:2.0:oob" # PHOTOS_BASE_URI = "https://photoslibrary.googleapis.com" G_PHOTOS_CLIENT_ID = os.environ.get("G_PHOTOS_CLIENT_ID", None) G_PHOTOS_CLIENT_SECRET = os.environ.get("G_PHOTOS_CLIENT_SECRET", None) TOKEN_FILE_NAME = os.path.join(Config.DOWN_PATH, "gPhoto_credentials_UniBorg.json") LOG = userge.getLogger(__name__) # logger object CHANNEL = userge.getCLogger(__name__) # channel logger object G_PHOTOS_AUTH_TOKEN_ID = int(os.environ.get("G_PHOTOS_AUTH_TOKEN_ID", 0)) @userge.on_cmd("gphoto setup", about="no one gonna help you 🤣🤣🤣🤣", allow_groups=False, allow_channels=False) async def setup_google_photos(message: Message): creds = await check_creds(message) if not creds: await create_token_file(message) await CHANNEL.log("#GPHOTOS #setup #completed") await message.edit("CREDS created. 😕😖😖") else: await message.edit("CREDS already created. 😕")
import re import shlex import threading import traceback from contextlib import contextmanager from enum import Enum from getpass import getuser from os import geteuid from typing import Awaitable, Any, Callable, Dict, Optional, Tuple, Iterable from pyrogram.types.messages_and_media.message import Str from userge import userge, Message, Config, pool from userge.utils import runcmd CHANNEL = userge.getCLogger() @userge.on_cmd("exec", about={ 'header': "run commands in exec", 'usage': "{tr}exec [commands]", 'examples': "{tr}exec echo \"Userge\"" }, allow_channels=False) async def exec_(message: Message): """ run commands in exec """ cmd = await init_func(message) if cmd is None: return
# Thanks to @Intellivoid For Creating CoffeeHouse API import os import random import asyncio from time import time from coffeehouse.api import API from coffeehouse.lydia import LydiaAI, Session from coffeehouse.exception import CoffeeHouseError from pyrogram.errors.exceptions.bad_request_400 import PeerIdInvalid from userge import userge, get_collection, Message, filters, pool from userge.utils import get_file_id_and_ref LOGGER = userge.getCLogger(__name__) LYDIA_CHATS = get_collection("LYDIA_CHATS") CH_LYDIA_API = os.environ.get("CH_LYDIA_API", None) CUSTOM_REPLY_CHANNEL = int(os.environ.get("CUSTOM_REPLY_CHANNEL", 0)) if CH_LYDIA_API is not None: LYDIA = LydiaAI(API(CH_LYDIA_API)) ACTIVE_CHATS = {} CUSTOM_REPLIES_IDS = [] QUEUE = asyncio.Queue() LYDIA_API_INFO = """This module uses Lydia AI Powered by CoffeeHouse API created by @Intellivoid. Lydia is a Active Machine Learning Chat Bot. Which can adapt to current user and chat with user
# Copyright (C) 2020 BY - GitHub.com/code-rgb [TG - @deleteduser420] # All rights reserved. """Module that handles Bot's Pm""" from userge import userge, Message, Config, get_collection from pyrogram.types import ( InlineKeyboardMarkup, InlineKeyboardButton, CallbackQuery ) from pyrogram import filters from pyrogram.errors.exceptions import FileIdInvalid, FileReferenceEmpty from pyrogram.errors.exceptions.bad_request_400 import BadRequest from datetime import date import asyncio LOG = userge.getLogger("Bot_PM") CHANNEL = userge.getCLogger("Bot_PM") BOT_BAN = get_collection("BOT_BAN") BOT_START = get_collection("BOT_START") LOGO_ID, LOGO_REF = None, None # https://github.com/UsergeTeam/Userge-Assistant/.../alive.py#L41 # refresh file id and file reference from TG server if Config.BOT_TOKEN and Config.OWNER_ID: if Config.HU_STRING_SESSION: ubot = userge.bot else: ubot = userge @ubot.on_message(filters.private & filters.command("start"))
# Copyright (C) 2020 BY - GitHub.com/code-rgb [TG - @deleteduser420] # All rights reserved. """Bot Message forwarding""" from userge import userge, Message, Config, get_collection from pyrogram import filters from pyrogram.errors.exceptions import MessageIdInvalid from pyrogram.errors import FloodWait, BadRequest import json import os import asyncio LOG = userge.getLogger("Bot_Forwards") CHANNEL = userge.getCLogger("Bot_Forwards") BOT_BAN = get_collection("BOT_BAN") BOT_START = get_collection("BOT_START") SAVED_SETTINGS = get_collection("CONFIGS") async def _init() -> None: data = await SAVED_SETTINGS.find_one({'_id': 'BOT_FORWARDS'}) if data: Config.BOT_FORWARDS = bool(data['is_active']) allowForwardFilter = filters.create(lambda _, __, ___: Config.BOT_FORWARDS) @userge.on_cmd("bot_fwd", about={'header': "enable / disable Bot Forwards"},