コード例 #1
0
def zippy_share(link: str) -> str:
    reply = ''
    driver = get_webdriver()
    driver.get(link)
    left = driver.find_element_by_xpath('//div[contains(@class, "left")]')
    font = left.find_elements_by_xpath('.//font')
    name = font[2].text
    size = font[4].text
    button = driver.find_element_by_xpath('//a[contains(@id, "dlbutton")]')
    link = button.get_attribute('href')
    reply += '{}\n'.format(
        get_translation('directZippyLink', [name, size, link]))
    driver.quit()
    return reply
コード例 #2
0
def type_afk_is_not_true(message):
    if TEMP_SETTINGS['IS_AFK']:
        TEMP_SETTINGS['IS_AFK'] = False
        reply(message, f'**{get_translation("afkEnd")}**')
        sleep(2)
        send_log(
            get_translation(
                'afkMessages',
                ['`', '**', str(len(TEMP_SETTINGS['AFK_USERS'])),
                 str(TEMP_SETTINGS['COUNT_MSG'])]))
        for i in TEMP_SETTINGS['AFK_USERS']:
            name = app.get_chat(i)
            name0 = str(name.first_name)
            send_log(
                get_translation(
                    'afkMentionUsers',
                    ['**', name0, str(i),
                     '`', str(TEMP_SETTINGS['AFK_USERS'][i])]))
        TEMP_SETTINGS['COUNT_MSG'] = 0
        TEMP_SETTINGS['AFK_USERS'] = {}
        if 'AFK_REASON' in TEMP_SETTINGS:
            del TEMP_SETTINGS['AFK_REASON']
    raise ContinuePropagation
コード例 #3
0
def seden(message):
    seden = extract_args(message).lower()
    cmds = OrderedDict(sorted(HELP.items()))
    if len(seden) > 0:
        if seden in cmds:
            edit(message, str(cmds[seden]))
        else:
            edit(message, f'**{get_translation("sedenUsage")}**')
    else:
        edit(message, get_translation('sedenUsage2', ['**', '`']))
        metin = f'{get_translation("sedenShowLoadedModules", ["**", "`", len(cmds)])}\n'
        for item in cmds:
            metin += f'• `{item}`\n'
        reply(message, metin)
コード例 #4
0
def unmute_user(message):
    try:
        from sedenecem.sql import mute_sql as sql
    except BaseException:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return

    args = extract_args_arr(message)
    if len(args) > 1:
        return edit(message, f'`{get_translation("wrongCommand")}`')
    reply = message.reply_to_message
    edit(message, f'`{get_translation("unmuteProcess")}`')

    find_user = extract_user(message)
    if len(find_user) < 1:
        return edit(message, f'`{get_translation("banFailUser")}`')

    try:
        replied_user = reply.from_user
        if replied_user.is_self:
            return edit(message, f'`{get_translation("cannotMuteMyself")}`')
    except BaseException:
        pass

    for user in find_user:
        try:
            chat = message.chat
            sql.unmute(chat.id, user.id)
            chat.unban_member(user.id)
            edit(
                message,
                get_translation('unmuteResult',
                                ['**', user.first_name, user.id, '`']),
            )
        except Exception as e:
            edit(message, get_translation('banError', ['`', '**', e]))
            return
コード例 #5
0
def ungmute_user(client, message):
    args = extract_args_arr(message)
    if len(args) > 1:
        return edit(message, f'`{get_translation("wrongCommand")}`')
    reply = message.reply_to_message
    edit(message, f'`{get_translation("unmuteProcess")}`')

    find_user = extract_user(message)
    if len(find_user) < 1:
        return edit(message, f'`{get_translation("banFailUser")}`')

    try:
        replied_user = reply.from_user
        if replied_user.is_self:
            return edit(message, f'`{get_translation("cannotUnmuteMyself")}`')
    except BaseException:
        pass

    for user in find_user:
        try:
            if not sql2.is_gmuted(user.id):
                return edit(message, f'`{get_translation("alreadyUnmuted")}`')
            sql2.ungmute(user.id)
            try:
                common_chats = client.get_common_chats(user.id)
                for i in common_chats:
                    i.unban_member(user.id)
            except BaseException:
                pass
            edit(
                message,
                get_translation('unmuteResult',
                                ['**', user.first_name, user.id, '`']),
            )
        except Exception as e:
            edit(message, get_translation('banError', ['`', '**', e]))
            return
コード例 #6
0
def ungban_user(client, message):
    args = extract_args(message)
    reply = message.reply_to_message
    edit(message, f'`{get_translation("unbanProcess")}`')
    if args:
        try:
            user = client.get_users(args)
        except Exception:
            edit(message, f'`{get_translation("banFailUser")}`')
            return
    elif reply:
        user_id = reply.from_user.id
        user = client.get_users(user_id)
    else:
        edit(message, f'`{get_translation("banFailUser")}`')
        return

    try:
        replied_user = reply.from_user
        if replied_user.is_self:
            return edit(message, f'`{get_translation("cannotUnbanMyself")}`')
    except BaseException:
        pass

    try:
        if not sql.is_gbanned(user.id):
            return edit(message, f'`{get_translation("alreadyUnbanned")}`')
        chat_id = message.chat.id
        sql.ungban(user.id)
        client.unban_chat_member(chat_id, user.id)
        edit(
            message,
            get_translation('unbanResult',
                            ['**', user.first_name, user.id, '`']))
    except Exception as e:
        edit(message, get_translation('banError', ['`', '**', e]))
        return
コード例 #7
0
    def upload_to_gdrive(self, filename):
        file_metadata = {
            "name": filename,
            "parents": [GDRIVE_FOLDER_ID],
        }

        media = MediaFileUpload(filename,
                                resumable=True,
                                chunksize=100 * 1024 * 1024)

        file = self.service.files().create(body=file_metadata,
                                           media_body=media,
                                           fields="id",
                                           supportsAllDrives=True)
        response = None
        start_time = time()
        while response is None:
            status, response = file.next_chunk()
            if status:
                if (curr_time := time()) - start_time > 5:
                    start_time = curr_time
                    edit(
                        self.message,
                        get_translation(
                            "gdriveUp",
                            [
                                "**", "`", filename,
                                f"½{int(status.progress() * 100)}"
                            ],
                        ),
                    )
            else:
                edit(
                    self.message,
                    get_translation("gdriveUpComplete", ["**", "`", filename]),
                )
                remove(filename)
コード例 #8
0
def urbandictionary(message):
    match = extract_args(message)
    if len(match) < 1:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return
    edit(message, f'`{get_translation("processing")}`')
    query = extract_args(message)
    try:
        define(query)
    except HTTPError:
        edit(message, get_translation('udResult', ['**', query]))
        return
    mean = define(query)
    deflen = sum(len(i) for i in mean[0]['def'])
    exalen = sum(len(i) for i in mean[0]['example'])
    meanlen = deflen + exalen
    if int(meanlen) >= 0:
        if int(meanlen) >= 4096:
            edit(message, f'`{get_translation("outputTooLarge")}`')
            file = open('urbandictionary.txt', 'w+')
            file.write('Query: ' + query + '\n\nMeaning: ' + mean[0]['def'] +
                       '\n\n' + 'Örnek: \n' + mean[0]['example'])
            file.close()
            reply_doc(message,
                      'urbandictionary.txt',
                      caption=f'`{get_translation("outputTooLarge")}`')
            if path.exists('urbandictionary.txt'):
                remove('urbandictionary.txt')
            message.delete()
            return
        edit(
            message,
            get_translation(
                'sedenQueryUd',
                ['**', '`', query, mean[0]['def'], mean[0]['example']]))
    else:
        edit(message, get_translation('udNoResult', ['**', query]))
コード例 #9
0
def mention_afk(mention):
    me = mel[0]
    if mention.mentioned or mention.reply_to_message and mention.reply_to_message.from_user and mention.reply_to_message.from_user.id == me.id:
        if TEMP_SETTINGS['IS_AFK']:
            if mention.from_user.id not in TEMP_SETTINGS['AFK_USERS']:
                if 'AFK_REASON' in TEMP_SETTINGS:
                    reply(
                        mention, get_translation(
                            "afkMessage2", [
                                '**', me.first_name, me.id,
                                '`', TEMP_SETTINGS['AFK_REASON']]))
                else:
                    reply(mention, f"```{choice(AFKSTR)}```")
                TEMP_SETTINGS['AFK_USERS'].update({mention.from_user.id: 1})
                TEMP_SETTINGS['COUNT_MSG'] = TEMP_SETTINGS['COUNT_MSG'] + 1
            else:
                if TEMP_SETTINGS['AFK_USERS'][
                        mention.from_user.id] % randint(
                        2, 4) == 0:
                    if 'AFK_REASON' in TEMP_SETTINGS:
                        reply(
                            mention, get_translation(
                                "afkMessage2", [
                                    '**', me.first_name, me.id,
                                    '`', TEMP_SETTINGS['AFK_REASON']]))
                    else:
                        reply(mention, f"```{choice(AFKSTR)}```")
                    TEMP_SETTINGS['AFK_USERS'][
                        mention.from_user.id] = TEMP_SETTINGS['AFK_USERS'][
                        mention.from_user.id] + 1
                    TEMP_SETTINGS['COUNT_MSG'] = TEMP_SETTINGS['COUNT_MSG'] + 1
                else:
                    TEMP_SETTINGS['AFK_USERS'][
                        mention.from_user.id] = TEMP_SETTINGS['AFK_USERS'][
                        mention.from_user.id] + 1
                    TEMP_SETTINGS['COUNT_MSG'] = TEMP_SETTINGS['COUNT_MSG'] + 1
    raise ContinuePropagation
コード例 #10
0
def device(message):
    textx = message.reply_to_message
    codename = extract_args(message)
    if codename:
        pass
    elif textx:
        codename = textx.text
    else:
        edit(message, f'`{get_translation("deviceUsage")}`')
        return
    data = loads(
        get('https://raw.githubusercontent.com/androidtrackers/'
            'certified-android-devices/master/by_device.json').text)
    results = data.get(codename)
    if results:
        reply = "{}\n".format(get_translation('deviceSearch',
                                              ['**', codename]))
        for item in results:
            reply += get_translation(
                'deviceSearchResultChild',
                ['**', item['brand'], item['name'], item['model']])
    else:
        reply = get_translation('deviceError', ['`', codename])
    edit(message, reply)
コード例 #11
0
def addcf(message):
    if not LYDIA_APIKEY:
        return edit(message,
                    get_translation('lydiaMissingApi', ['**', '`']),
                    preview=False)
    edit(message, f'`{get_translation("processing")}`')
    sleep(3)
    reply_msg = message.reply_to_message
    if reply_msg:
        session = lydia.create_session()
        if not reply_msg.from_user.id:
            return edit(message, f'`{get_translation("lydiaError")}`')
        ACC_LYDIA.update({(message.chat.id & reply_msg.from_user.id): session})
        edit(
            message,
            get_translation(
                'lydiaResult2',
                ['**', '`',
                 str(reply_msg.from_user.id),
                 str(message.chat.id)],
            ),
        )
    else:
        edit(message, f'`{get_translation("lydiaError2")}`')
コード例 #12
0
def add_filter(message):
    try:
        from sedenecem.sql.filters_sql import add_filter
    except BaseException:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return
    args = extract_args(message, markdown=True).split(' ', 1)
    if len(args) < 1 or len(args[0]) < 1:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return
    keyword = args[0]
    string = args[1] if len(args) > 1 else ''
    msg = message.reply_to_message
    msg_id = None

    if len(string) < 1:
        if msg:
            if msg.text:
                string = msg.text.markdown
            else:
                string = None
                msg_o = forward(msg, LOG_ID)
                if not msg_o:
                    edit(message, f'`{get_translation("filterError")}`')
                    return
                msg_id = msg_o.id
                send_log(
                    get_translation('filterLog',
                                    ['`', message.chat.id, keyword]))
        else:
            edit(message, f'`{get_translation("wrongCommand")}`')

    if add_filter(str(message.chat.id), keyword, string, msg_id):
        edit(message, get_translation('filterAdded', ['**', '`', keyword]))
    else:
        edit(message, get_translation('filterUpdated', ['**', '`', keyword]))
コード例 #13
0
def unblockpm(client, message):
    if message.reply_to_message:
        reply = message.reply_to_message
        replied_user = reply.from_user
        if replied_user.is_self:
            edit(message, f'`{get_translation("cannotUnblockMyself")}`')
            return
        name0 = str(replied_user.first_name)
        uid = replied_user.id
        client.unblock_user(uid)
        edit(message, f'`{get_translation("pmUnblocked")}`')

        send_log(get_translation('pmUnblockedLog', [name0, replied_user.id]))
    else:
        edit(message, f'`{get_translation("pmUnblockedUsage")}`')
コード例 #14
0
def ungmute_user(client, message):
    args = extract_args(message)
    reply = message.reply_to_message
    edit(message, f'`{get_translation("unmuteProcess")}`')
    if len(args):
        try:
            user = client.get_users(args)
        except Exception:
            edit(message, f'`{get_translation("banFailUser")}`')
            return
    elif reply:
        user_id = reply.from_user.id
        user = client.get_users(user_id)
    else:
        edit(message, f'`{get_translation("banFailUser")}`')
        return

    try:
        replied_user = reply.from_user
        if replied_user.is_self:
            return edit(message, f'`{get_translation("cannotUnmuteMyself")}`')
    except BaseException:
        pass

    try:
        if not sql2.is_gmuted(user.id):
            return edit(message, f'`{get_translation("alreadyUnmuted")}`')
        sql2.ungmute(user.id)
        edit(
            message,
            get_translation('unmuteResult',
                            ['**', user.first_name, user.id, '`']),
        )
    except Exception as e:
        edit(message, get_translation('banError', ['`', '**', e]))
        return
コード例 #15
0
def twrp(message):
    textx = message.reply_to_message
    device = extract_args(message)
    if device:
        pass
    elif textx:
        device = textx.text.split(' ')[0]
    else:
        edit(message, f'`{get_translation("twrpUsage")}`')
        return
    url = get(f'https://dl.twrp.me/{device}/')
    if url.status_code == 404:
        reply = get_translation('twrpError', ['`', device])
        edit(message, reply)
        return
    page = BeautifulSoup(url.content, 'html.parser')
    download = page.find('table').find('tr').find('a')
    dl_link = f"https://dl.twrp.me{download['href']}"
    dl_file = download.text
    size = page.find('span', {'class': 'filesize'}).text
    date = page.find('em').text.strip()
    reply = get_translation('twrpResult',
                            ['**', '__', device, dl_file, dl_link, size, date])
    edit(message, reply)
コード例 #16
0
def translate(message):
    translator = Translator()
    reply = message.reply_to_message
    args = extract_args(message)
    if args:
        pass
    elif reply:
        if not reply.text:
            return edit(message, f'`{get_translation("trtUsage")}`')
        args = reply.text
    else:
        edit(message, f'`{get_translation("trtUsage")}`')
        return

    try:
        reply_text = translator.translate(deEmojify(args), dest=TRT_LANG)
    except ValueError:
        edit(message, f'`{get_translation("trtError")}`')
        return

    source_lan = LANGUAGES[reply_text.src.lower()]
    transl_lan = LANGUAGES[reply_text.dest.lower()]
    reply_text = '{}\n{}'.format(
        get_translation(
            'transHeader',
            ['**', '`', source_lan.title(),
             transl_lan.title()]),
        reply_text.text,
    )

    edit(message, reply_text)

    send_log(
        get_translation(
            'trtLog',
            [source_lan.title(), transl_lan.title()]))
コード例 #17
0
def mutechat(message):
    try:
        from sedenecem.sql.keep_read_sql import kread
    except BaseException:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return
    status = kread(str(message.chat.id))
    if status:
        edit(message, f'`{get_translation("chatMuted")}`')
    else:
        edit(message, f'`{get_translation("chatAlreadyMuted")}`')
    sleep(2)
    message.delete()

    send_log(get_translation('chatLog', [message.chat.id]))
コード例 #18
0
def ddgo(message):
    query = extract_args(message)
    if len(query) < 1:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return
    req = get(f'https://duckduckgo.com/lite?q={query}',
              headers={
                  'User-Agent':
                  'Mozilla/5.0 (X11; Linux x86_64)'
                  'AppleWebKit/537.36 (KHTML, like Gecko)'
                  'Chrome/81.0.4044.138 Safari/537.36',
                  'Content-Type':
                  'text/html'
              })
    soup = BeautifulSoup(req.text, 'html.parser')
    res1 = soup.findAll('table', {'border': 0})
    res1 = res1[-1].findAll('tr')

    edit(message,
         get_translation(
             'sedenQuery',
             ['**', '`', query, do_ddsearch(query, res1)]),
         preview=False)
    send_log(get_translation('ddgoLog', [query]))
コード例 #19
0
def save_snip(message):
    try:
        from sedenecem.sql.snips_sql import add_snip
    except AttributeError:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return
    args = extract_args(message, markdown=True).split(' ', 1)
    if len(args) < 1 or len(args[0]) < 1:
        edit(message, f'`{get_translation("wrongCommand")}`')
        return
    keyword = args[0]
    string = args[1] if len(args) > 1 else ''
    msg = message.reply_to_message
    msg_id = None

    if len(string) < 1:
        if msg:
            if msg.text:
                string = msg.text.markdown
            else:
                string = None
                msg_o = forward(msg, LOG_ID)
                if not msg_o:
                    edit(message, f'`{get_translation("snipError")}`')
                    return
                msg_id = msg_o.message_id
                send_log(
                    get_translation('snipsLog',
                                    ['`', message.chat.id, keyword]))
        else:
            edit(message, f'`{get_translation("wrongCommand")}`')

    if add_snip(keyword, string, msg_id) is False:
        edit(message, get_translation('snipsUpdated', ['`', keyword]))
    else:
        edit(message, get_translation('snipsAdded', ['`', keyword]))
コード例 #20
0
def eval(message):
    args = extract_args(message)
    if len(args) < 1:
        edit(message, f'`{get_translation("evalUsage")}`')
        return

    try:
        evaluation = safe_eval(args)
        if evaluation:
            if isinstance(evaluation, str):
                if len(evaluation) >= 4096:
                    file = open('output.txt', 'w+')
                    file.write(evaluation)
                    file.close()
                    reply_doc(message,
                              'output.txt',
                              caption=f'`{get_translation("outputTooLarge")}`')
                    remove('output.txt')
                    return
                edit(
                    message,
                    get_translation('sedenQuery',
                                    ['**', '`', args, evaluation]))
        else:
            edit(
                message,
                get_translation(
                    'sedenQuery',
                    ['**', '`', args,
                     get_translation('sedenErrorResult')]))
    except Exception as err:
        edit(message,
             get_translation('sedenQuery',
                             ['**', '`', args, str(err)]))

    send_log(get_translation('evalLog', [args]))
コード例 #21
0
def drive_auth(message):
    global flow
    user_id = message.from_user.id
    args = extract_args(message).split()

    if len(args) == 0:
        creds = get(user_id)
        if creds is not None:
            creds.refresh(Http())
            edit(message, f'`{get_translation("gdriveAuth")}`')
            set(user_id, creds)
        else:
            OAUTH_SCOPE = "https://www.googleapis.com/auth/drive"
            REDIRECT_URI = "http://localhost"

            flow = OAuth2WebServerFlow(DRIVE_CLIENT,
                                       DRIVE_SECRET,
                                       OAUTH_SCOPE,
                                       redirect_uri=REDIRECT_URI)
            auth_url = flow.step1_get_authorize_url()
            edit(
                message,
                f'{get_translation("gauthURL", ["**","`"])} [Google Drive Auth URL]({auth_url})',
            )

    elif args[0] == "token":
        url = args[1]
        code = extract_code(url)
        if not code:
            return edit(message, f'`{get_translation("gauthTokenErr")}`')
        if flow:
            try:
                creds = flow.step2_exchange(code)
                set(user_id, creds)
                edit(message, f'`{get_translation("gauthTokenSuccess")}`')
            except FlowExchangeError:
                edit(
                    message,
                    f'`{get_translation("gauthTokenInvalid")}`',
                )
            flow = None
        else:
            edit(message, f'`{get_translation("gauthFirstRun")}`')
    elif args[0] == "revoke":
        remove_(user_id)
        edit(message, f'`{get_translation("gauthTokenRevoke")}`')
    else:
        edit(message, get_translation("gdriveUsage"))
コード例 #22
0
def rmblacklist(message):
    if not sql:
        edit(message, f'`{get_translation("nonSqlMode")}`')
        return
    text = extract_args(message)
    if len(text) < 1:
        edit(message, f'`{get_translation("blacklistText")}`')
        return
    to_unblacklist = list(
        set(trigger.strip() for trigger in text.split("\n")
            if trigger.strip()))
    successful = 0
    for trigger in to_unblacklist:
        if sql.rm_from_blacklist(message.chat.id, trigger.lower()):
            successful += 1
    edit(message, get_translation('blacklistRemoveSuccess', ['**', '`', text]))
コード例 #23
0
def botver(message):
    if which('git'):
        from subprocess import PIPE, Popen
        degisiklik = Popen(['git', 'rev-list', '--all', '--count'],
                           stdout=PIPE,
                           stderr=PIPE,
                           universal_newlines=True)
        sonuc, _ = degisiklik.communicate()

        edit(message,
             get_translation(
                 'sedenShowBotVersion',
                 ['**', '`', 'Seden UserBot', CHANNEL, BOT_VERSION, sonuc]),
             preview=False)
    else:
        edit(message, f'`{get_translation("sedenGitNotFound")}`')
コード例 #24
0
def tspam(message):
    tspam = extract_args(message)
    if len(tspam) < 1:
        edit(message, f'`{get_translation("spamWrong")}`')
        return
    message.delete()

    if not spam_allowed():
        return

    for text in tspam.replace(' ', ''):
        reply(message, text)
        count = increment_spam_count()
        if not count:
            break

    send_log(get_translation('tspamLog'))
コード例 #25
0
def barcode(message):
    input_str = extract_args(message)
    reply = message.reply_to_message
    if len(input_str) < 1:
        edit(message, get_translation('barcodeUsage', ['**', '`']))
        return
    edit(message, f'`{get_translation("processing")}`')
    try:
        bar_code_mode_f = get('code128', input_str, writer=ImageWriter())
        filename = bar_code_mode_f.save('code128')
        reply_doc(reply if reply else message,
                  filename,
                  delete_after_send=True)
        message.delete()
    except Exception as e:
        edit(message, str(e))
        return
コード例 #26
0
def restart(message, dyno=False):
    send_log(get_translation('restartLog'))

    def std_off():
        try:
            app.stop()
        except Exception:
            pass

    def std_ret():
        edit(message, f'`{get_translation("restart")}`')
        std_off()
        execl(executable, executable, *argv)

    if not HEROKU_KEY or not dyno:
        std_ret()
        return

    heroku = from_key(HEROKU_KEY)
    heroku_app = None
    heroku_applications = heroku.apps()
    if not HEROKU_APPNAME:
        edit(
            message,
            f'`{get_translation("updateHerokuVariables", ["HEROKU_APPNAME "])}`',
        )
        std_ret()
        return

    for app in heroku_applications:
        if app.name == HEROKU_APPNAME:
            heroku_app = app
            break

    if heroku_app is None:
        edit(
            message,
            f'`{get_translation("updateHerokuVariables", ["HEROKU_APPNAME "])}`',
        )
        std_ret()
        return

    edit(message, f'`{get_translation("restart")}`')
    std_off()
    dynos = heroku_app.dynos()
    dynos[0].restart()
コード例 #27
0
def picspam(message):
    arr = extract_args_arr(message)
    if len(arr) < 2 or not arr[0].isdigit():
        edit(message, f'`{get_translation("spamWrong")}`')
        return
    message.delete()

    if not spam_allowed():
        return

    count = int(arr[0])
    url = arr[1]
    for i in range(0, count):
        reply_img(message, url)
        limit = increment_spam_count()
        if not limit:
            break

    send_log(get_translation('picspamLog'))
コード例 #28
0
def userid(message):
    reply = message.reply_to_message
    if reply:
        if not reply.forward_from:
            user_id = reply.from_user.id
            if reply.from_user.username:
                name = f'**@{reply.from_user.username}**'
            else:
                name = f'**[{reply.from_user.first_name}](tg://user?id={reply.from_user.id})**'
        else:
            user_id = reply.forward_from.id
            if reply.forward_from.username:
                name = f'**@{reply.forward_from.username}**'
            else:
                name = f'**[{reply.forward_from.first_name}](tg://user?id={reply.forward_from.id})**'
        edit(message,
             get_translation('useridResult', ['**', name, '`', user_id]))
    else:
        edit(message, f'`{get_translation("wrongCommand")}`')
コード例 #29
0
    def add_exist(conv, pack, pname, pnick):
        try:
            send_recv(conv, '/addsticker')
        except Exception as e:
            raise e

        status = send_recv(conv, pname)

        if limit in status.text:
            pack += 1
            pname = f'trzworld{pack}'
            pnick = f"trz's world {pack}"
            edit(message, get_translation('packFull', ['`', '**', str(pack)]))
            return add_exist(conv, pack, pname, pnick)

        send_recv(conv, media, doc=True)
        send_recv(conv, emoji)
        send_recv(conv, '/done')
        return True
コード例 #30
0
def userid(message):
    reply = message.reply_to_message
    if reply:
        if not reply.forward_from:
            user_id = reply.from_user.id
            if reply.from_user.username:
                name = '@' + reply.from_user.username
            else:
                name = '**' + reply.from_user.first_name + '**'
        else:
            user_id = reply.forward_from.id
            if reply.forward_from.username:
                name = "@" + reply.forward_from.username
            else:
                name = "*" + reply.forward_from.first_name + "*"
        edit(message,
             get_translation("useridResult", ['**', name, '`', user_id]))
    else:
        edit(message, f'`{get_translation("wrongCommand")}`')