Bagaimana cara menemukan email pengguna GitHub dan menulis bot Telegram untuk mengatasi masalah ini?

Meme dari Internet
Meme dari Internet

Posting ini akan berguna untuk dua kategori orang: perekrut TI dan pengembang pemula yang ingin belajar bagaimana menulis program sederhana untuk memecahkan masalah praktis.





Tugas: kita mengetahui profil pengguna di GitHub, kita perlu mencari email dari pengguna ini





Ide untuk menulis bot datang kepada saya setelah seorang kolega berbagi dengan saya cara perekrut TI menyelesaikan masalah ini:





1. https://api.github.com/users/ /events/public









2. Ctrl+F "@"







3. ,





Ini adalah hasil pencarian dan alamat email ditemukan

EmailOnGitHub Chrome Store Python:





import requests, telebot, time

tkn = '___'
bot = telebot.TeleBot(tkn)


#   /start 

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, ',     email     .     ,   ,    ')
                            

#    -        
#        email_finder

@bot.message_handler(content_types=['text'])
def send_text(message):

    bot.send_message(message.chat.id, email_finder(message.text))
      
      



, , , , email_finder.





, . :





#      ,       
#    ,    email   

def email_finder(nick):
    rawlist, newlist = [], []

    #    ,       

    url = f'https://api.github.com/users/{nick}/events/public'
    r = requests.get(url)

    #   
    #    -    ,  

    if r.status_code == 200:
        print('status 200 - OK')

        #   ,    ,     
        #      "  "

        if not r.json():
            return ' .   email.'

    elif url_status == 404:
        return '     '
    else:
        return ' '

    #    

    for element in r.json():
        if element['type'] == 'PushEvent':
            for commit in element['payload']['commits']:
            
                #       
                email = commit['author']['email']
                rawlist.append(email)
    f_list = '  : \n'

    #        

    for i in rawlist:
        if i not in newlist:
            newlist.append(i)
    for element in newlist:
        f_list = f_list + element + '\n'

    return f_list
      
      



Bagian utama sudah siap. Tetap menambahkan baris berikut:





#    

while True:
    try:
        print(' ...')
        bot.infinity_polling(True)

    except Exception as e:
        print(' ')
        time.sleep(15)
      
      



Bot pencarian email kami sudah siap, Anda dapat memulai dan menggunakannya. Versi percobaan tersedia di @GitSorcerBot

Jika pengguna memposting komit dan meninggalkan email mereka, bot akan menampilkan hasilnya:












All Articles