diff --git a/__pycache__/dan63047bot.cpython-38.pyc b/__pycache__/dan63047bot.cpython-38.pyc
new file mode 100644
index 0000000..e3fb019
Binary files /dev/null and b/__pycache__/dan63047bot.cpython-38.pyc differ
diff --git a/dan63047bot.py b/dan63047bot.py
index 7543daa..ae6d1e1 100644
--- a/dan63047bot.py
+++ b/dan63047bot.py
@@ -1,34 +1,38 @@
-import vk_api
+import vk_api, time, bs4
from vk_api.longpoll import VkLongPoll, VkEventType
+class VkBot:
-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:
+ def __init__(self, peer_id):
- # Если оно имеет метку для меня( то есть бота)
- if event.to_me:
+ print("\nСоздан объект бота!")
+ self._USER_ID = peer_id
+ #self._USERNAME = self._get_user_name_from_vk_id(user_id)
- # Сообщение от пользователя
- request = event.text
-
- # Каменная логика ответа
- if request == "привет":
- write_msg(event.user_id, "Хай")
- elif request == "пока":
- write_msg(event.user_id, "Пока((")
- else:
- write_msg(event.user_id, "Не поняла вашего ответа...")
+ self._COMMANDS = ["привет", "!my_id", "!h", "пока"]
+
+ 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 == self._COMMANDS[0]:
+ return f"Привет-привет!"
+
+ elif message == self._COMMANDS[1]:
+ return f"Ваш ид: {self._USER_ID}"
+
+ elif message == self._COMMANDS[2]:
+ return f"Я бот, призванный доставлять неудобства.
Команды:
!my_id - сообщит ваш id в ВК
!user_id *id* - сообщит информацию о этом пользователе
!group_id *id* - сообщит информацию о этой группе
!image - отправляет пока что только одну картинку (скоро планируется отправлять рандомную картинку из альбома)
!h, !help - справка
Дата последнего обновления: 08.03.2020"
+
+ # Пока
+ elif message == self._COMMANDS[3]:
+ return f"Пока-пока!"
+
+ else:
+ return "Не понимаю о чем вы..."
diff --git a/start.py b/start.py
new file mode 100644
index 0000000..d99cb7a
--- /dev/null
+++ b/start.py
@@ -0,0 +1,22 @@
+import vk_api, time, bs4
+from dan63047bot import VkBot
+from vk_api.longpoll import VkLongPoll, VkEventType
+
+def write_msg(peer_id, message):
+ vk.method('messages.send', {'peer_id': peer_id, 'message': message, 'random_id': time.time()})
+
+token = "9c2e8fbc0fb7c846315e2f7758373d92e6961cefe74697ffb335e14a67916e54e20df6082577c8a7ade1c"# API-ключ созданный ранее
+vk = vk_api.VkApi(token=token)# Авторизуемся как сообщество
+longpoll = VkLongPoll(vk)# Работа с сообщениями
+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.peer_id}', end='')
+
+ bot = VkBot(event.peer_id)
+ write_msg(event.peer_id, bot.new_message(event.text))
+
+ print('Text: ', event.text)
\ No newline at end of file