рдкрд╛рдпрдерди 3 рдкрд░ рд╡реАрдХреЗ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЪреИрдЯ рдмреЙрдЯ рдмрдирд╛рдирд╛

рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдмрдирд╛рдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирд╛ рд╣реЛрдЧрд╛:


  1. рд╡реАрдХреЗ рдореЗрдВ рдмреЙрдЯ рдмрдирд╛рдирд╛
  2. рдПрдкреАрдЖрдИ рдкреНрд░рдореБрдЦ рдкреАрдврд╝реА
  3. LongPoolVK рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдмреЙрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдирд╛

рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реИ?


рд▓реЗрдЦ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рдЬреЛ рдХреЛрдИ рднреА рдкрд╛рдпрдерди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдереЛрдбрд╝рд╛ рдУрдУрдкреА рдЬрд╛рдирддрд╛ рд╣реИ рд╡рд╣ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдУрдУрдкреА рдХреЗ рдХрд┐рд╕реА рднреА рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд┐рдирд╛ рднреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЪрд░рдо рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЧрд┐рдЯрд╣рдм рд╕реЗ рддреИрдпрд╛рд░ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ?


рдмреЙрдЯ рдХрд╛ рдЖрдзрд╛рд░ рдмрдирд╛рдирд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрд╣ рдЖрдк рдХреА рддрд░рд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд░рдорд╛рджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ рдпрд╛ рдПрдХ рд╡рд╛рд░реНрддрд╛рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдмреЗрд╣рддрд░ (рдмреЙрдЯ рдХрд╛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╕рдВрд╕реНрдХрд░рдг)ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдмреЙрдЯ рдХреЗ рдПрдХ рд╕рд░рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХреЛрдб рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рдХрд┐рдпрд╛ рдЬреЛ рдмреЙрдЯ рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рдореМрд╕рдо рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╕рдорд╛рд░реЛрд╣ рдЬреЛрдбрд╝рдирд╛ред рд╣рдо рд╣рдореЗрдВ рдореМрд╕рдо рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдЯ рд╕рд┐рдЦрд╛рдПрдВрдЧреЗред

рд╡реАрдХреЗ рдореЗрдВ рдмреЙрдЯ рдмрдирд╛рдирд╛


рд╣рдо рдПрдХ рдмреЙрдЯ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╡реАрдХреЗ рд╣реЛрдЧрд╛ред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рд╕рдореВрд╣реЛрдВ" тЖТ "рдПрдХ рд╕рдореБрджрд╛рдп рдмрдирд╛рдПрдВред"

рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдореБрджрд╛рдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдирд╛рдо, рд╕рдореВрд╣ рдереАрдо рджрд░реНрдЬ рдХрд░реЗрдВред

рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда рдкрд░, "API рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░реЗрдВ" рдЪреБрдиреЗрдВ

рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдПрдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдлрд┐рд░ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЕрдкрдиреА рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдХреЗ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреА рд╣реЛрдЧреАред рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк API рдХреБрдВрдЬреА рдХреЛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рд╣рдореЗрдВ рдЕрднреА рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдлрд┐рд░ рдЖрдкрдХреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рд╕рдВрджреЗрд╢" рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪрд╛рд▓реВ рдХрд░реЗрдВред

рдЪрд▓реЛ рдмреЙрдЯ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рднрд╛рдЧ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝реЗрдВ


рд╣рдо рдЗрд╕реЗ рд╡реАрд╕реА рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдпрд╛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд┐рд░реНрдл VkLongPool рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд░реЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рд▓рд┐рдП vk_api рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

python -m pip install vk_api

рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдЕрдХреНрд╕рд░ рдкрд╣рд▓реЗ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдЕрдЬрдЧрд░ рдХрдорд╛рдВрдб рдХреЛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ PATH рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪрд▓реЛ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░реЛ:

рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:

import vk_api from vk_api.longpoll import VkLongPoll, VkEventType 

рдлрд┐рд░ рдХреЛрдб:

 def write_msg(user_id, message): vk.method('messages.send', {'user_id': user_id, 'message': message}) # API-   token = "6a9c267cd469388709a9e9acaddbe0aa81a0abbf12239b3e597a31729ffbddb9c88e80a443554c918b8f7" #    vk = vk_api.VkApi(token=token) #    longpoll = VkLongPoll(vk) #   for event in longpoll.listen(): #     if event.type == VkEventType.MESSAGE_NEW: #      (   ) if event.to_me: #    request = event.text #    if request == "": write_msg(event.user_id, "") elif request == "": write_msg(event.user_id, "((") else: write_msg(event.user_id, "   ...") 

Write_msg рдлрд╝рдВрдХреНрд╢рди VK рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА <user_id> рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╕рдВрджреЗрд╢ рдФрд░ рд╕рдВрджреЗрд╢ рд╕реНрд╡рдпрдВ рднреЗрдЬреЗрдЧрд╛ред

 def write_msg(user_id, message): vk.method('messages.send', {'user_id': user_id, 'message': message}) 

рдПрдХ рд╕рдореБрджрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рдФрд░ рд▓реЙрдиреНрдЧрдкреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛:

 # API-   token = "6a9c267cd469388709a9e9acaddbe0aa81a0abbf12239b3e597a31729ffbddb9c88e80a443554c918b8f7" #    vk = vk_api.VkApi(token=token) #    longpoll = VkLongPoll(vk)    : #   for event in longpoll.listen(): 

рдЗрд╕рдореЗрдВ, рд╣рдо рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░реЗрдВрдЧреЗред рдФрд░ рд╣рдо event.type рдХреЗ рд╕рд╛рде рдИрд╡реЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдлрдВрдХреНрд╢рди write_msg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕реЗ рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдкрддреНрд░ рднреЗрдЬ рдкрд╛рдПрдВрдЧреЗред

рддреЛ, рд╣рдордиреЗ рдЙрд╕реА рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╡реАрдХреЗ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдмреЙрдЯ рдмрдирд╛рдпрд╛ред рдФрд░ рдмреЙрдЯ рдХреЗ рддрд░реНрдХ рдХреЛ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬреАрдПрдЪ рдХреЛрдб рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ

рдЕрдм рдЖрдЗрдП рдЕрдзрд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВред


рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ VkBot рдмрдирд╛рдПрдБ vk_bot.py, рдЬреЛ рд╣рдореЗрдВ рдПрдХ рдмреЙрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

 class VkBot: def __init__(self, user_id): print("  !") self._USER_ID = user_id self._USERNAME = self._get_user_name_from_vk_id(user_id) self._COMMANDS = ["", "", "", ""] 

рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк vk id рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 def _get_user_name_from_vk_id(self, user_id): request = requests.get("https://vk.com/id"+str(user_id)) bs = bs4.BeautifulSoup(request.text, "html.parser") user_name = self._clean_all_tag_from_str(bs.findAll("title")[0]) return user_name.split()[0] 

рдпрд╣ рдмреАрдЯрдлреБрд▓рд╕реЙ 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ:
python -m pip install bs4
рдЗрд╕ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд▓реЗрдЦ рд╣реИрдВ рдЬреЛ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдХреБрдЫ рдФрд░ рддрд░реАрдХреЗ рдмрдирд╛рдПрдБрдЧреЗ:

 #  : def _get_time(self): request = requests.get("https://my-calend.ru/date-and-time-today") b = bs4.BeautifulSoup(request.text, "html.parser") return self._clean_all_tag_from_str(str(b.select(".page")[0].findAll("h2")[1])).split()[1] #   def _get_weather(city: str = "-") -> list: request = requests.get("https://sinoptik.com.ru/-" + city) b = bs4.BeautifulSoup(request.text, "html.parser") p3 = b.select('.temperature .p3') weather1 = p3[0].getText() p4 = b.select('.temperature .p4') weather2 = p4[0].getText() p5 = b.select('.temperature .p5') weather3 = p5[0].getText() p6 = b.select('.temperature .p6') weather4 = p6[0].getText() result = '' result = result + (' :' + weather1 + ' ' + weather2) + '\n' result = result + (' :' + weather3 + ' ' + weather4) + '\n' temp = b.select('.rSide .description') weather = temp[0].getText() result = result + weather.strip() return result #       @staticmethod def _clean_all_tag_from_str(string_line): """   stringLine      :param string_line:   :return:   """ result = "" not_skip = True for i in list(string_line): if not_skip: if i == "<": not_skip = False else: result += i else: if i == ">": not_skip = True return result 

_Get_weather рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╢рд╣рд░ рдореЗрдВ рдмрджрд▓реЗрдВ, рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рд╢рд╣рд░ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдЖрдкрдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ред

рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рд╕рдордп рдФрд░ рдореМрд╕рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рддрд░реАрдХреЗ рдореЗрд░реЗ рдореБрдЦреНрдп рдмреЙрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдЯреЗ рд╣реБрдП рд╣реИрдВред рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдХрд╛рдо рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдпрд╣ рд╕рдм рдПрдХ рдмреЙрдЯ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдлрд┐рдЯ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмреБрд░рд╛ рд╣реИред

рд╣рдо рдореБрдЦреНрдп рд╡рд┐рдзрд┐ new_message рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛:

 def new_message(self, message): #  if message.upper() == self._COMMANDS[0]: return f"-, {self._USERNAME}!" #  elif message.upper() == self._COMMANDS[1]: return self._get_weather() #  elif message.upper() == self._COMMANDS[2]: return self._get_time() #  elif message.upper() == self._COMMANDS[3]: return f"-, {self._USERNAME}!" else: return "    ..." 

рдЕрдм рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ:

рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдХреЗ рд╡рд░реНрдЧ рдХреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВ:

 from vk_bot import VkBot 

рдЖрдЗрдП рдЕрдкрдирд╛ рдореБрдЦреНрдп рд▓реВрдк рдмрджрд▓реЗрдВ:

 print("Server started") for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: print('New message:') print(f'For me by: {event.user_id}', end='') bot = VkBot(event.user_id) write_msg(event.user_id, bot.new_message(event.text)) print('Text: ', event.text) 

рдпрд╣реА рд╣реИ, рдЕрдм рд╣рдо рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХреЛ рдмреЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рд╣рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдЙрддреНрддрд░ рд▓реМрдЯрд╛рдПрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдмреЙрдЯ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдпрд╣ рдЬрдЯрд┐рд▓рддрд╛ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

рдкреНрд░рддреНрдпреЗрдХ _get_time рдФрд░ _get_weather рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдПрдВред рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдЖрдпреЛрдЬрдиред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдкреИрдХреЗрдЬ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреАред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреБрдВрдЬреА рдФрд░ рдмреЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рд░ рдмрд╛рд░ рдПрдХ рдЪрдХреНрд░ рдореЗрдВ рдПрдХ рдмреЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЬрдЯрд┐рд▓ рдбрд┐рдЬрд╛рдЗрдиреЛрдВ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЕрдЪреНрдЫрд╛ рдХреЛрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЪреБрдирдирд╛, рдЖрдк рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рдмреЙрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ рдлреЛрди рдкрд░ рдмреИрдардХрд░ рдХрдВрдкреНрдпреВрдЯрд░, рдЦреБрд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рд╕рдВрдЧреАрдд рдмрдЬрд╛рдирд╛ рд╕рд┐рдЦрд╛рдпрд╛ред рдирд╛рд╢реНрддреЗ, рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди, рд░рд╛рдд рдХреЗ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЛ рднреЗрдЬреЗрдВред

рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдмреЙрдЯ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдЦ рд╕реЗ рдмреЙрдЯ

рдЬреАрдПрдЪ рдкрд░ рдореБрдЦреНрдп рдмреЙрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдЙрдиреНрдирдд)

рдореБрдЭреЗ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП, рд▓рд┐рдЦреЗрдВред

Source: https://habr.com/ru/post/hi427691/


All Articles