Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #bot.py
- import vk_api
- from vk_bot import VkBot
- from vk_api.longpoll import VkLongPoll, VkEventType
- token = "token"
- from random import randint
- def write_msg(user_id, message):
- vk.method('messages.send', {'user_id': user_id, 'message': message, 'random_id': randint(1, 9999)}, )
- vk = vk_api.VkApi(token=token)
- longpoll = VkLongPoll(vk)
- print("Server started")
- for event in longpoll.listen():
- print(event.type)
- if event.type == VkEventType.MESSAGE_NEW:
- if event.to_me:
- if event.attachments:
- if 'doc' in event.attachments.values():
- if 'attach2' in event.attachments.values():
- write_msg(event.user_id, 'Пожалуйста, отправляейте один файл за раз'.format())
- else:
- print(event.attachments) # тут вывожу айди файла
- else:
- write_msg(event.user_id, 'Пожалуйста, отправляйте документ в виде файла'.format())
- else:
- 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)
- #vk_bot.py
- import requests
- import bs4
- 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 = ["ПРИВЕТ", "ВРЕМЯ", "ПОКА"]
- 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]
- # Метод для очистки от ненужных тэгов
- def new_message(self, message):
- if message:
- return f"Здравствуйте, {self._USERNAME}. Я - бот по приему файлов, пока я умею делать только это." \
- f"Если Вы хотите поговорить с живым человеком, напишите в сообщения группе: "
- @staticmethod
- def _clean_all_tag_from_str(string_line):
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement