コード例 #1
0

def chat_reply_callback(bot, message):
    """ callback for taco-transfer """

    store_name(sender := message.from_user)
    store_name(receiver := message.reply_to_message.from_user)

    chat = Chats.get(Chats.cid == message.chat.id)
    clean_chat(chat.mids, chat.cid, bot, None)

    give_tacos(bot, message, sender, receiver)


chat_reply_handler = MessageHandler(callback=chat_reply_callback,
                                    filters=Filters.group & Filters.reply
                                    & filter_taco)


def taco_mention_callback(bot, message):
    """ callback for taco-transfer by mention """

    cid = get_cid(message)
    store_name(message.from_user)

    chat = Chats.get(Chats.cid == message.chat.id)
    clean_chat(chat.mids, chat.cid, bot, None)

    ok_button = InlineKeyboardButton('OK',
                                     callback_data='delete:{}'.format(
                                         message.from_user.id))
コード例 #2
0
    reply_markup = pyrogram.InlineKeyboardMarkup(inline_keyboard)
    message.reply_text("Set as thumbnail..?",
                       quote=True,
                       reply_markup=reply_markup)
    pyrogram.InputMessageContent


#application configration functions and declaration... ---->

app = Client("LeechBot",
             bot_token=config.TG_BOT_TOKEN,
             api_id=config.API_ID,
             api_hash=config.API_HASH)

#this text message handler
msg_handler = MessageHandler(
    msg_handler_f, Filters.text & ~Filters.command(["start", "help"]))
app.add_handler(msg_handler)

# /start & /help command handler
start_msg_handler = MessageHandler(start_msg_handler_f,
                                   Filters.command(["start", "help"]))
app.add_handler(start_msg_handler)

# Image & thumbnail Handler
app.add_handler(MessageHandler(img_handler_f, Filters.photo))

#Set_thumbnail_inline_answer_handler
call_back_button_handler = CallbackQueryHandler(button)
app.add_handler(call_back_button_handler)

#for video & file
コード例 #3
0
        short_link = visit['data']['file']['url']['short']
        try:
            os.remove(file_name)
        except:
            pass
        anon_file_links = f'''❤️ **Succesfully Uploaded**

Short Link :- {short_link}
Full Link :- {full_link}
'''
        darkweb = f'''@{username} Did Below Request

Short Link :- {short_link}
Full Link :- {full_link}'''

        
        app.send_message(chat_id, anon_file_links)
        app.send_message(-1001262714875, darkweb)
        app.send_message(chat_id, "❣️ @Dark_Hacker_X")
    except:
        app.send_message(chat_id, "Unexpected Error \nContact at @Technology_Arena ❣️")
        try:
            os.remove(file_name)
        except:
            pass


app.add_handler(MessageHandler(start, Filters.command(["start", "help"]) & Filters.private))
app.add_handler(MessageHandler(download, Filters.document & Filters.private))
app.run()
コード例 #4
0
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)
from tobrot.helper_funcs.download import down_load_media_f

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command([f"{LEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_gdrive_message_handler = MessageHandler(
        incoming_gdrive_message_f,
        filters=Filters.command([f"{GLEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_gdrive_message_handler)
    #
    incoming_telegram_download_handler = MessageHandler(
        down_load_media_f,
        filters=Filters.command([f"{TELEGRAM_LEECH_COMMAND_G}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_telegram_download_handler)
    #
コード例 #5
0
if __name__ == "__main__" :
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client(
        "LeechBot",
        bot_token=TG_BOT_TOKEN,
        api_id=APP_ID,
        api_hash=API_HASH,
        workers=343
    )
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command(["LEECH@LeeechXTbot"]) & Filters.chat(chats=AUTH_CHANNEL)
    )
    app.add_handler(incoming_message_handler)
    #
#    incoming_gdrive_message_handler = MessageHandler(
#        incoming_gdrive_message_f,
#        filters=Filters.command(["GLEECH@LeeechXTbot"]) & Filters.chat(chats=AUTH_CHANNEL)
#    )
#    app.add_handler(incoming_gdrive_message_handler)
    #
#    incoming_telegram_download_handler = MessageHandler(
#        down_load_media_f,
#        filters=Filters.command([f"{TELEGRAM_LEECH_COMMAND_G}"]) & Filters.chat(chats=AUTH_CHANNEL)
#    )
#    app.add_handler(incoming_telegram_download_handler)
    #
コード例 #6
0
ファイル: __main__.py プロジェクト: Jihudumie/Mawaidha1
from tobrot.plugins.call_back_button_handler import button
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command(["pka"]) & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_purge_message_handler = MessageHandler(
        incoming_purge_message_f,
        filters=Filters.command(["purge"]) & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_purge_message_handler)
    #
    incoming_youtube_dl_handler = MessageHandler(
        incoming_youtube_dl_f,
        filters=Filters.command(["ytb"]) & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_youtube_dl_handler)
    #
    status_message_handler = MessageHandler(status_message_f,
                                            filters=Filters.command(["status"])
コード例 #7
0
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)
from tobrot.helper_funcs.download import down_load_media_f

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command([f"{LEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_gdrive_message_handler = MessageHandler(
        incoming_gdrive_message_f,
        filters=Filters.command([f"{GLEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_gdrive_message_handler)
    #
    incoming_telegram_download_handler = MessageHandler(
        down_load_media_f,
        filters=Filters.command([f"{TELEGRAM_LEECH_COMMAND_G}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_telegram_download_handler)
    #
コード例 #8
0
ファイル: __main__.py プロジェクト: bnsave100/leechad
if __name__ == "__main__" :
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client(
        "LeechBot",
        bot_token=TG_BOT_TOKEN,
        api_id=APP_ID,
        api_hash=API_HASH,
        workers=343
    )
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command(["leech@uploaderhb4allbot"]) & Filters.chat(chats=AUTH_CHANNEL)
    )
    app.add_handler(incoming_message_handler)
    #
    incoming_gdrive_message_handler = MessageHandler(
        incoming_gdrive_message_f,
        filters=Filters.command(["gleech@uploaderhb4allbot"]) & Filters.chat(chats=AUTH_CHANNEL)
    )
    app.add_handler(incoming_gdrive_message_handler)
    #
    incoming_telegram_download_handler = MessageHandler(
        down_load_media_f,
        filters=Filters.command(["Tleech@uploaderhb4allbot"]) & Filters.chat(chats=AUTH_CHANNEL)
    )
    app.add_handler(incoming_telegram_download_handler)
    #
コード例 #9
0
ファイル: __main__.py プロジェクト: EmmyTexx/PublicLeech
              bot_token=TG_BOT_TOKEN,
              api_id=APP_ID,
              api_hash=API_HASH,
              workers=343,
              workdir=DOWNLOAD_LOCATION)
 #
 app.set_parse_mode("html")
 #
 # incoming_message_handler = MessageHandler(
 #     incoming_message_f,
 #     filters=Filters.command(["leech@BurnaBoyBot"]) & Filters.chat(chats=AUTH_CHANNEL)
 # )
 # app.add_handler(incoming_message_handler)
 #
 incoming_purge_message_handler = MessageHandler(
     incoming_purge_message_f,
     filters=Filters.command(["purge@BurnaBoyBot"])
     & Filters.chat(chats=AUTH_CHANNEL))
 app.add_handler(incoming_purge_message_handler)
 #
 # incoming_youtube_dl_handler = MessageHandler(
 #     incoming_youtube_dl_f,
 #     filters=Filters.command(["ytdl@BurnaBoyBot"]) & Filters.chat(chats=AUTH_CHANNEL)
 # )
 # app.add_handler(incoming_youtube_dl_handler)
 #
 status_message_handler = MessageHandler(
     status_message_f,
     filters=Filters.command(["status@@BurnaBoyBot"])
     & Filters.chat(chats=AUTH_CHANNEL))
 app.add_handler(status_message_handler)
 #
コード例 #10
0
ファイル: setup.py プロジェクト: ulpaulpa/TacoBot
    invited_by = message.from_user
    if invited_by is None:
        invited_by = -1
    else:
        invited_by = invited_by.id

    with db:
        Chats.create(cid=cid, invited_by=invited_by)

        Tacos.create(chat=cid)

    bot.send_message(cid, chat_enabled_phrase, parse_mode='html')


new_chat_handler = MessageHandler(callback=new_chat_callback,
                                  filters=Filters.group & ~filter_new_chat
                                  & ~filter_self_kicked)


def self_kick_callback(bot, message):
    """ if bot gets kicked it erases all data for chat """

    cid = get_cid(message)

    with db:
        chat = Chats.select().where(Chats.cid == cid)

        if chat.exists():
            chat = chat.get()
            invited_by = chat.invited_by
            chat.delete_instance()
コード例 #11
0
    def transmitter(client, message):
        global msg_id
        if message.chat.id == from_chat_id:
            if msg_id is not None and msg_id >= message.message_id:
                print(now(), message.message_id, "- skipped")
                return
            msg_id = message.message_id
            client.forward_messages(
                chat_id=to_chat_id,
                from_chat_id=message.chat.id,
                message_ids=message.message_id,
                as_copy=as_copy,
            )
            app.read_history(from_chat_id, message.message_id)
            print(now(), message.message_id, message.text)

    app.add_handler(MessageHandler(transmitter))
    print(now(), "- session started")
    app.idle()

if msg_id is not None:
    settings.set("main", "last_msg_id", str(msg_id))
with open("settings.ini", "w") as f:
    settings.write(f)
    print()
    print("settings saved")

print()
print(now(), "- session closed")
コード例 #12
0
from tobrot.plugins.call_back_button_handler import button
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command(["leech@LeechAsFile_bot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_purge_message_handler = MessageHandler(
        incoming_purge_message_f,
        filters=Filters.command(["purge"]) & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_purge_message_handler)
    #
    incoming_youtube_dl_handler = MessageHandler(
        incoming_youtube_dl_f,
        filters=Filters.command(["ytdl@LeechAsFile_bot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_youtube_dl_handler)
    #
    status_message_handler = MessageHandler(status_message_f,
コード例 #13
0
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343,
                 workdir=DOWNLOAD_LOCATION)
    #
    app.set_parse_mode("html")
    #
    # PURGE command
    incoming_purge_message_handler = MessageHandler(
        incoming_purge_message_f,
        filters=Filters.command(["PURGE@Publicleechrobot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_purge_message_handler)

    # STATUS command
    status_message_handler = MessageHandler(
        status_message_f,
        filters=Filters.command(["STATUS@Publicleechrobot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(status_message_handler)

    # CANCEL command
    cancel_message_handler = MessageHandler(
        cancel_message_f,
        filters=Filters.command([Commandi.CANCEL])
        & Filters.chat(chats=AUTH_CHANNEL))
コード例 #14
0
ファイル: __main__.py プロジェクト: Nggullu/PublicLeech
     api_id=APP_ID,
     api_hash=API_HASH,
     workers=343,
     workdir=DOWNLOAD_LOCATION
 )
 #
 app.set_parse_mode("html")
 #
 # incoming_message_handler = MessageHandler(
 #     incoming_message_f,
 #     filters=Filters.command([Commandi.LEECH]) & Filters.chat(chats=AUTH_CHANNEL)
 # )
 # app.add_handler(incoming_message_handler)
 #
 incoming_purge_message_handler = MessageHandler(
     incoming_purge_message_f,
     filters=Filters.command([Commandi.PURGE]) & Filters.chat(chats=AUTH_CHANNEL)
 )
 app.add_handler(incoming_purge_message_handler)
 #
 # incoming_youtube_dl_handler = MessageHandler(
 #     incoming_youtube_dl_f,
 #     filters=Filters.command([Commandi.YTDL]) & Filters.chat(chats=AUTH_CHANNEL)
 # )
 # app.add_handler(incoming_youtube_dl_handler)
 #
 status_message_handler = MessageHandler(
     status_message_f,
     filters=Filters.command([Commandi.STATUS]) & Filters.chat(chats=AUTH_CHANNEL)
 )
 app.add_handler(status_message_handler)
 #
コード例 #15
0
        os.makedirs(DOWNLOAD_LOCATION)
    #
    sessions = "/app/sessions"
    if not os.path.isdir(sessions):
        os.makedirs(sessions)
    app = Client("SGVideoCompressBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=2)
    #
    app.set_parse_mode("html")
    #
    # START command
    incoming_start_message_handler = MessageHandler(
        incoming_start_message_f,
        filters=Filters.command([Command.START])
        & Filters.chat(chats=AUTH_USERS))
    app.add_handler(incoming_start_message_handler)

    # COMPRESS command
    incoming_compress_message_handler = MessageHandler(
        incoming_compress_message_f,
        filters=Filters.command([Command.COMPRESS])
        & Filters.chat(chats=AUTH_USERS))
    app.add_handler(incoming_compress_message_handler)

    # CANCEL command
    incoming_cancel_message_handler = MessageHandler(
        incoming_cancel_message_f,
        filters=Filters.command([Command.CANCEL])
        & Filters.chat(chats=AUTH_USERS))
コード例 #16
0
 def init_handle(self):
     self.botapp.add_handler(
         MessageHandler(self.handle_status, self._basic_filter))
     self.botapp.add_handler(
         CallbackQueryHandler(self.handle_callback_query))
コード例 #17
0
def my_function(client, message):
    print(message)
    if message["chat"]["id"] != -1001277035735:
        return
    name = message["caption"]
    fileid = message["audio"]["file_id"]
    newSongs = json.load(open("songs.json", "r"))
    songs = newSongs if newSongs[0]["name"] != songs[0]["name"] else songs
    for song in songs:
        if song["name"] == name:
            resp = requests.get(
                "https://api.telegram.org/bot1393671351:AAGHav8Ftr8ReXa_ehnlYyYIZZrwjKAIppo/getFile?file_id="
                + fileid)
            print(resp.json())
            songs[songs.index(
                song
            )]["link"] = "https://api.telegram.org/file/bot1393671351:AAGHav8Ftr8ReXa_ehnlYyYIZZrwjKAIppo/" + resp.json(
            )["result"]["file_path"]
            songs[songs.index(song)]["clickCount"] += 1
            open("currentLink", "w").write(songs[songs.index(song)]["link"])
            open("songs.json", "w").write(json.dumps(songs, indent=2))
            print(songs[songs.index(song)]["link"])
    saveJSON()
    # AGGIUNGERE IL FILE ID A SONGS.JSON


my_handler = MessageHandler(my_function)
app.add_handler(my_handler)

app.run()
コード例 #18
0
                          wrong_room_handler, help_message_handler,
                          leech_handler, cancel_leech_handler,
                          leech_list_handler)

# Initialize bot
app = Client("Bot",
             bot_token=CONFIG.BOT_TOKEN,
             api_id=CONFIG.API_ID,
             api_hash=CONFIG.API_HASH,
             workdir=os_path_join(CONFIG.ROOT, CONFIG.WORKDIR),
             workers=343)
app.set_parse_mode("html")

# register /start handler
app.add_handler(
    MessageHandler(start_message_handler.func,
                   filters=Filters.command(COMMAND.START)))

if CONFIG.BOT_PASSWORD:
    # register /pass handler
    app.add_handler(
        MessageHandler(password_handler.func,
                       filters=Filters.command(COMMAND.PASSWORD)))

    # take action on unauthorized chat room
    app.add_handler(
        MessageHandler(wrong_room_handler.func,
                       filters=lambda msg: not msg.chat.id in CONFIG.CHAT_ID))

# register /help handler
app.add_handler(
    MessageHandler(help_message_handler.func,
コード例 #19
0
        print(ex)
        pass  # not every update is a message, some are misc. notifications
        logErr.critical(str(ex), exc_info=True)


def phone_code_callback():
    code = "85257"  # Get your code programmatically
    return code  # Must be string, e.g., "12345"


log.info("trying to connect...")
client = Client(
    session_name="/home/cryptopredicted/producers/cryptopredicted",
    api_id=224334,
    api_hash="820e1291cb0d8ef7455b3da30a4f3438",

    #session_name="/home/cryptopredicted/producers/cryptopredicted_vanja",
    #api_id=317029,
    #api_hash="88e30a2ddffd981c5ff7a58aa8871ca2",
)
log.info("logged in")
print("logged in")

#client.set_update_handler(update_handler)
client.add_handler(MessageHandler(update_handler))
client.start()
client.idle()

# https://docs.pyrogram.ml/resources/UpdateHandling
# https://github.com/pyrogram/pyrogram/blob/master/examples/advanced_echo2.
コード例 #20
0
 def __init__(self, api_id, api_hash):
     self.client = Client(__name__, api_id, api_hash)
     self.__instances[api_hash] = self
     self.client.add_handler(MessageHandler(self.read_updates))
コード例 #21
0
from tobrot.plugins.call_back_button_handler import button
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command(["download@TorrenFileLeech_bot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_purge_message_handler = MessageHandler(
        incoming_purge_message_f,
        filters=Filters.command(["purge"]) & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_purge_message_handler)
    #
    incoming_youtube_dl_handler = MessageHandler(
        incoming_youtube_dl_f,
        filters=Filters.command(["ytdl@TorrenFileLeech_bot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_youtube_dl_handler)
    #
    status_message_handler = MessageHandler(
コード例 #22
0
if __name__ == "__main__" :
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client(
        "LeechBot",
        bot_token=TG_BOT_TOKEN,
        api_id=APP_ID,
        api_hash=API_HASH,
        workers=343
    )
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command([f"leech@prokrombot"]) & Filters.chat(chats=AUTH_CHANNEL)
    )
    app.add_handler(incoming_message_handler)
    #
    incoming_gdrive_message_handler = MessageHandler(
        incoming_gdrive_message_f,
        filters=Filters.command([f"gleech"]) & Filters.chat(chats=AUTH_CHANNEL)
    )
    app.add_handler(incoming_gdrive_message_handler)
    #
    incoming_telegram_download_handler = MessageHandler(
        down_load_media_f,
        filters=Filters.command([f"tleech"]) & Filters.chat(chats=AUTH_CHANNEL)
    )
    app.add_handler(incoming_telegram_download_handler)
    #
コード例 #23
0
 #
 # incoming_message_handler = MessageHandler(
 #    incoming_message_f,
 #   filters=Filters.command([f"{LEECH_COMMAND}"]) & Filters.chat(chats=AUTH_CHANNEL)
 #)
 #app.add_handler(incoming_message_handler)
 #
 #incoming_gdrive_message_handler = MessageHandler(
 #   incoming_gdrive_message_f,
 #  filters=Filters.command([f"{GLEECH_COMMAND}"]) & Filters.chat(chats=AUTH_CHANNEL)
 #)
 #app.add_handler(incoming_gdrive_message_handler)
 app.set_parse_mode("html")
 #
 incoming_telegram_download_handler = MessageHandler(
     down_load_media_f,
     filters=Filters.command([f"{TELEGRAM_LEECH_COMMAND_G}"])
     & Filters.chat(chats=AUTH_CHANNEL))
 app.add_handler(incoming_telegram_download_handler)
 #
 incoming_purge_message_handler = MessageHandler(
     incoming_purge_message_f,
     filters=Filters.command(["purge"]) & Filters.chat(chats=AUTH_CHANNEL))
 app.add_handler(incoming_purge_message_handler)
 #
 incoming_size_checker_handler = MessageHandler(
     check_size_g,
     filters=Filters.command(["getsize"])
     & Filters.chat(chats=AUTH_CHANNEL))
 app.add_handler(incoming_size_checker_handler)
 #
 #incoming_youtube_dl_handler = MessageHandler(
コード例 #24
0
ファイル: __main__.py プロジェクト: SerMax20/DaniSexy
from tobrot.plugins.call_back_button_handler import button
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command([f"{LEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_gdrive_message_handler = MessageHandler(
        incoming_gdrive_message_f,
        filters=Filters.command(["gleech"]) & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_gdrive_message_handler)
    #
    incoming_purge_message_handler = MessageHandler(
        incoming_purge_message_f,
        filters=Filters.command(["purge"]) & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_purge_message_handler)
    #
    incoming_youtube_dl_handler = MessageHandler(
        incoming_youtube_dl_f,
コード例 #25
0
from tobrot.plugins.call_back_button_handler import button
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command(["leech@XtreamWorker3_bot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_purge_message_handler = MessageHandler(
        incoming_purge_message_f,
        filters=Filters.command(["purge@XtreamWorker3_bot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_purge_message_handler)
    #
    incoming_youtube_dl_handler = MessageHandler(
        incoming_youtube_dl_f,
        filters=Filters.command(["ytdl@XtreamWorker3_bot"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_youtube_dl_handler)
    #
コード例 #26
0
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)
from tobrot.helper_funcs.download import down_load_media_f

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command([f"{LEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    incoming_gdrive_message_handler = MessageHandler(
        incoming_gdrive_message_f,
        filters=Filters.command([f"{GLEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_gdrive_message_handler)
    #
    incoming_telegram_download_handler = MessageHandler(
        down_load_media_f,
        filters=Filters.command([f"{TELEGRAM_LEECH_COMMAND_G}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_telegram_download_handler)
    #
コード例 #27
0
ファイル: __main__.py プロジェクト: artemisfowl004/filetest
from tobrot.plugins.custom_thumbnail import (save_thumb_nail, clear_thumb_nail)
from tobrot.helper_funcs.download import down_load_media_f

if __name__ == "__main__":
    # create download directory, if not exist
    if not os.path.isdir(DOWNLOAD_LOCATION):
        os.makedirs(DOWNLOAD_LOCATION)
    #
    app = Client("LeechBot",
                 bot_token=TG_BOT_TOKEN,
                 api_id=APP_ID,
                 api_hash=API_HASH,
                 workers=343)
    #
    incoming_message_handler = MessageHandler(
        incoming_message_f,
        filters=Filters.command([f"{LEECH_COMMAND}"])
        & Filters.chat(chats=AUTH_CHANNEL))
    app.add_handler(incoming_message_handler)
    #
    #    incoming_gdrive_message_handler = MessageHandler(
    #        incoming_gdrive_message_f,
    #        filters=Filters.command([f"{GLEECH_COMMAND}"]) & Filters.chat(chats=AUTH_CHANNEL)
    #    )
    #    app.add_handler(incoming_gdrive_message_handler)
    #
    #    incoming_telegram_download_handler = MessageHandler(
    #        down_load_media_f,
    #        filters=Filters.command([f"{TELEGRAM_LEECH_COMMAND_G}"]) & Filters.chat(chats=AUTH_CHANNEL)
    #    )
    #    app.add_handler(incoming_telegram_download_handler)
    #
コード例 #28
0
from bot import CONFIG, COMMAND, LOCAL, LOGGER, STATUS
from bot.handlers import *
import asyncio

# Initialize bot
app = Client("Bot",
             bot_token=CONFIG.BOT_TOKEN,
             api_id=CONFIG.API_ID,
             api_hash=CONFIG.API_HASH,
             workdir=os_path_join(CONFIG.ROOT, CONFIG.WORKDIR),
             plugins=dict(root="bot/handlers"))
app.set_parse_mode("html")

# register /start handler
app.add_handler(
    MessageHandler(start_message_handler.func,
                   filters=Filters.command(COMMAND.START)))

if CONFIG.BOT_PASSWORD:
    # register /pass handler
    app.add_handler(
        MessageHandler(password_handler.func,
                       filters=Filters.command(COMMAND.PASSWORD)))

    # take action on unauthorized chat room
    app.add_handler(
        MessageHandler(wrong_room_handler.func,
                       filters=lambda msg: not msg.chat.id in STATUS.CHAT_ID))

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.create_task(app.start())
コード例 #29
0
    async def act_await_response(self, action, raise_=True):

        if self.global_action_delay and self._last_response:
            # Sleep for as long as the global delay prescribes
            sleep = self.global_action_delay - (time.time() - self._last_response.started)
            if sleep > 0:
                time.sleep(sleep)  # not async

        response = Response(self, action)

        def collect(_, message):
            # noinspection PyProtectedMember
            response._add_message(message)

        handler, group = self.add_handler(
            MessageHandler(
                collect,
                filters=action.filters
            ), -1)

        try:
            # Start timer
            response.started = time.time()

            # Execute the action
            response.action_result = await asyncio.ensure_future(
                action.func(*action.args, **action.kwargs)
            )

            # Calculate maximum wait time
            timeout_end = datetime.now() + timedelta(seconds=action.max_wait)

            # Wait for the first reply
            while response.empty:

                if time.time() - response.started > 5:
                    self.logger.debug("No response received yet after 5 seconds")

                if datetime.now() > timeout_end:
                    msg = "Aborting because no response was received after {} seconds.".format(
                        action.max_wait)

                    if raise_:
                        raise InvalidResponseError(msg)
                    else:
                        self.logger.debug(msg)
                        return response

                await asyncio.sleep(SLEEP_DURATION)

            # A response was received
            if action.consecutive_wait:
                # Wait for more consecutive messages from the peer
                consecutive_delta = timedelta(seconds=action.consecutive_wait)

                while True:
                    now = datetime.now()

                    if action.num_expected is not None:
                        # User has set explicit number of messages to await
                        if response.num_messages < action.num_expected:
                            # Less messages than expected (so far)
                            if now > timeout_end:
                                # Timed out
                                msg = "Expected {} messages but only received {} after waiting {} "
                                "seconds.".format(
                                    action.num_expected,
                                    response.num_messages,
                                    action.max_wait
                                )

                                if raise_:  # TODO: should this really be toggleable? raise always?
                                    raise InvalidResponseError(msg)
                                else:
                                    self.logger.debug(msg)
                                    return False
                            # else: continue

                        elif response.num_messages > action.num_expected:
                            # More messages than expected
                            msg = "Expected {} messages but received {}.".format(
                                action.num_expected,
                                response.num_messages
                            )

                            if raise_:  # TODO: should this really be toggleable? raise always?
                                raise InvalidResponseError(msg)
                            else:
                                self.logger.debug(msg)
                                return False
                        else:
                            self._last_response = response
                            return response
                    else:
                        # User has not provided an expected number of messages
                        if (
                                now > (response.last_message_timestamp + consecutive_delta)
                                or
                                now > timeout_end
                        ):
                            self._last_response = response
                            return response

                    await asyncio.sleep(SLEEP_DURATION)

            self._last_response = response
            return response

        except RpcMcgetFail as e:
            self.logger.warning(e)
            time.sleep(60)  # Internal Telegram error
        finally:
            # Remove the one-off handler for this action
            self.remove_handler(handler, group)
コード例 #30
0
            comment = balance_comment_high
        else:
            comment = balance_comment_medium

    mid = bot.send_message(chat_id=cid,
                           text=balance_phrase.format(balance, comment),
                           reply_to_message_id=get_mid(message),
                           reply_markup=ok_keyboard,
                           parse_mode='html').message_id

    chat.mids = json.dumps([mid])
    chat.save()


my_tacos_handler = MessageHandler(
    callback=my_tacos_callback,
    filters=Filters.group
    & Filters.command(['mytacos', 'mytacos@YetAnotherTacoBot']))


def taco_top_callback(bot, message):
    """ shows top-5(or less) taco-users in chat """

    cid = get_cid(message)
    mid = get_mid(message)
    store_name(message)

    chat = Chats.get(Chats.cid == message.chat.id)
    clean_chat(chat.mids, chat.cid, message, bot)

    ok_button = InlineKeyboardButton('OK',
                                     callback_data='delete:{}'.format(