PhotoShaman

TGtoVKBot

Jul 24th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.33 KB | None | 0 0
  1. from vk_api.longpoll import VkLongPoll, VkEventType
  2. import vk_api
  3. import telebot
  4. import constants
  5. import datetime
  6. import threading
  7. import re
  8.  
  9. bot = telebot.TeleBot(constants.tokenT)
  10.  
  11. vk = vk_api.VkApi(token=constants.tokenVK)
  12. vk._auth_token()
  13.  
  14.  
  15. def write_msg_vk(mess):
  16.     vk.method('messages.send', {'peer_id': constants.ownerIdVK, 'message': mess})
  17.  
  18.  
  19. @bot.message_handler(commands=['online'])
  20. def handle_text(message):
  21.     user_info = vk.method('users.get', {'user_id': constants.ownerIdVK, 'fields': 'online, last_seen'})
  22.  
  23.     if user_info[0]['online']:
  24.         online_status = "online"
  25.     else:
  26.         online_status = 'Был в сети: {}'.format(
  27.               datetime.datetime.fromtimestamp(user_info[0]['last_seen']['time']).strftime('%d-%m-%Y %H:%M'))
  28.  
  29.     answer = "BOT[online] " + "Artuom[{}]".format(online_status)
  30.     bot.send_message(message.chat.id, answer)
  31.  
  32.  
  33. @bot.message_handler(commands=['help'])
  34. def handle_text(message):
  35.     bot.send_message(message.chat.id,
  36.                      "Проверить онлайн Артема можно командой /online. Дальше просто пишите свое сообщение")
  37.  
  38.  
  39. @bot.message_handler(content_types=['text'])
  40. def handle_text(message):
  41.     try:
  42.         name = message.from_user.first_name + " " + message.from_user.last_name
  43.     except Exception:
  44.         name = "-"
  45.     write_msg_vk("[{0}({1}/{2})] {3}".format(name, message.from_user.username, message.chat.id,  message.text))
  46.  
  47.  
  48. def telegram_proc():
  49.     bot.polling(none_stop=True, interval=0)
  50.  
  51.  
  52. def vk_proc():
  53.     longpoll = VkLongPoll(vk)
  54.     for event in longpoll.listen():
  55.         if event.type == VkEventType.MESSAGE_NEW:
  56.             print(event)
  57.             if re.match(r'^\d+:.+', event.text):
  58.                 result = re.split(r':', event.text, maxsplit=1)
  59.                 try:
  60.                     bot.send_message(result[0], result[1])
  61.                     print('Сообщение отправлено({0}): {1}'.format(result[0], result[1]))
  62.                 except Exception:
  63.                     write_msg_vk("Ошибка отправки сообщения")
  64.                     print("Ошибка отправки сообщения")
  65.  
  66.  
  67. t1 = threading.Thread(target=telegram_proc)
  68. t2 = threading.Thread(target=vk_proc)
  69. t1.start()
  70. t2.start()
  71. t1.join()
  72. t2.join()
Advertisement
Add Comment
Please, Sign In to add comment