skip to Main Content

I use telethon for sending messages to telegram using python script.
I did not find anything in telethon to search for groups and channels I like used to search on telegram app. Please see iamge. How can I get such list using telethon?

enter image description here

2

Answers


  1. Create file with your secrets: config.ini

    [Telegram]
    # no need for quotes
    
    # you can get telegram development credentials in telegram API Development Tools
    api_id = 1234
    api_hash = 1234
    
    # use full phone number including + and country code
    phone = +4411111111111
    username = session_user
    

    One solution is this, do_search.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    # Tested with Telethon version 1.14.0
    
    import configparser
    from telethon import TelegramClient
    from telethon.errors import SessionPasswordNeededError
    from telethon.sync import TelegramClient
    from telethon import functions, types
    
    # Reading Configs
    config = configparser.ConfigParser()
    config.read("config.ini")
    
    # These example values won't work. You must get your own api_id and
    # api_hash from https://my.telegram.org, under API Development.
    # (1) Use your own values here
    api_id = config['Telegram']['api_id']
    api_hash = config['Telegram']['api_hash']
    
    # (2) Create the client and connect
    phone = config['Telegram']['phone']
    username = config['Telegram']['username']
    client = TelegramClient(username, api_id, api_hash)
    
    async def main():
        await client.start()
        # Ensure you're authorized
        if not await client.is_user_authorized():
            await client.send_code_request(phone)
            try:
                await client.sign_in(phone, input('Enter the code: '))
            except SessionPasswordNeededError:
                await client.sign_in(password=input('Password: '))
    
        search = 'linux'
        result = await client(functions.contacts.SearchRequest(
            q=search,
            limit=100
        ))
        print(result.stringify())
    
    with client:
        client.loop.run_until_complete(main())
    

    And don’t forget to always thank @lonami for creating this awesome library Telethon 🙂

    Login or Signup to reply.
  2. result = client.get_entity('binanceorderschat')
    if result.megagroup == True:
       print('its group')
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search