Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from datetime import datetime
- from time import sleep
- import vk_api
- from vk_api.longpoll import VkLongPoll, VkEventType
- import login
- def main():
- def captcha_handler(captcha):
- key = input("Enter captcha code {0}: ".format(captcha.get_url())).strip()
- return captcha.try_again(key)
- vk_session = vk_api.VkApi(login=login.log,
- password=login.passw,
- captcha_handler=captcha_handler)
- vk_session.auth()
- longpoll = VkLongPoll(vk_session)
- vk = vk_session.get_api()
- tools = vk_api.VkTools(vk_session)
- my_profile = vk.users.get()
- my_id = my_profile[0]['id']
- print(my_id)
- def last_seen():
- last_seen = vk.users.get(user_id=event.user_id, fields='last_seen')
- last_seen = (last_seen[0]['last_seen']['time'])
- last_seen = datetime.fromtimestamp(last_seen).strftime('%H:%M:%S')
- return last_seen
- def platform():
- platform = str(event.platform)
- platform = platform[11:].capitalize()
- return platform
- def sex(id):
- sex = vk.users.get(user_id=id, fields='sex')
- return sex[0]['sex']
- def fam_name(id):
- last_name = vk.users.get(user_id=id, fields='last_name')
- first_name = vk.users.get(user_id=id, fields='first_name')
- last_name = last_name[0]['last_name']
- first_name = first_name[0]['first_name']
- name = last_name + ' ' + first_name
- return name
- def relation_partner(id):
- relation_partner = vk.users.get(user_id=id, fields='relation')
- relation_partner = relation_partner[0]['relation_partner']
- if relation_partner == None:
- return ''
- else:
- relation_partner = vk.users.get(user_id=id, fields='relation')
- relation_partner = relation_partner[0]['relation_partner']
- id_relation_partner = str(relation_partner.get('id'))
- last_name = relation_partner.get('last_name')
- first_name = relation_partner.get('first_name')
- self_relation_partner = str('[' + 'id' + id_relation_partner +
- '|' + last_name + ' ' + first_name + ']')
- return self_relation_partner
- def silca():
- text_silca = str('[id' + str(event.user_id) +
- '|' + fam_name(event.user_id) + ']')
- return text_silca
- for event in longpoll.listen():
- commands = {
- '!bot info': 'Бот собирает информацию профиля, команды !bot commands',
- '!bot about': vk.users.get(user_id=event.user_id,
- fields='about'),
- '!bot activities': vk.users.get(user_id=event.user_id,
- fields='activities'),
- '!bot bdate': vk.users.get(user_id=event.user_id,
- fields='bdate'),
- '!bot counters': vk.users.get(user_id=event.user_id,
- fields='counters'),
- '!bot status': vk.users.get(user_id=event.user_id,
- fields='status'),
- '!bot relation': vk.users.get(user_id=event.user_id,
- fields='relation'),
- }
- if event.type == VkEventType.MESSAGE_NEW and event.from_me:
- if event.text == '!bot appid':
- #get_appid()
- pass
- elif event.type == VkEventType.MESSAGE_NEW and not event.from_me \
- and event.user_id != my_id:
- if event.from_user:
- print('Сообщение от: ',event.user_id,' Текст: ',event.text)
- if event.text == '!bot about':
- about = commands.get(event.text)
- about = about.pop().get('about')
- if about == '':
- vk.messages.send(user_id=event.user_id,
- message='Данное поле пустое')
- else:
- vk.messages.send(user_id=event.user_id,
- message=about)
- elif event.text == '!bot activities':
- activities = commands.get(event.text)
- activities = activities.pop().get('activities')
- if activities == '':
- vk.messages.send(user_id=event.user_id,
- message='Данное поле пустое')
- else:
- vk.messages.send(user_id=event.user_id,
- message=activities)
- elif event.text == '!bot bdate':
- bdate = commands.get(event.text)
- bdate = bdate.pop().get('bdate')
- if bdate == '':
- vk.messages.send(user_id=event.user_id,
- message='Данное поле пустое')
- else:
- vk.messages.send(user_id=event.user_id,
- message=bdate)
- elif event.text == '!bot books':
- books = commands.get(event.text)
- books = books.pop().get('books')
- if books == '':
- vk.messages.send(user_id=event.user_id,
- message='Данное поле пустое')
- else:
- vk.messages.send(user_id=event.user_id,
- message=books)
- elif event.text == '!bot counters':
- counters = commands.get(event.text)
- counters = counters.pop().get('counters')
- if counters == '':
- vk.messages.send(user_id=event.user_id,
- message='Данное поле пустое')
- else:
- for key, value in counters.items():
- sleep(2)
- vk.messages.send(user_id=event.user_id,
- message=key+': '+str(value))
- elif event.text == '!bot info':
- vk.messages.send(user_id=event.user_id,
- message=commands.get(event.text))
- elif event.text == '!bot commands':
- for keys, values in commands.items():
- sleep(2)
- vk.messages.send(user_id=event.user_id,
- message=keys)
- elif event.text == '!bot status':
- status = commands.get(event.text)
- status = status.pop().get('status')
- if status == '':
- vk.messages.send(user_id=event.user_id,
- message='Данное поле пустое')
- else:
- vk.messages.send(user_id=event.user_id,
- message=status)
- elif event.text == '!bot relation':
- relation = commands.get(event.text)
- relation = relation.pop().get('relation')
- if sex(event.user_id) != 1:
- if relation == 1:
- vk.messages.send(user_id=event.user_id,
- message='не женат')
- elif relation == 2:
- vk.messages.send(user_id=event.user_id,
- message='есть подруга '+relation_partner(event.user_id))
- elif relation == 3:
- vk.messages.send(user_id=event.user_id,
- message='помолвлен '+relation_partner(event.user_id))
- elif relation == 4:
- vk.messages.send(user_id=event.user_id,
- message='женат '+relation_partner(event.user_id))
- elif relation == 5:
- vk.messages.send(user_id=event.user_id,
- message='всё сложно '+relation_partner(event.user_id))
- elif relation == 6:
- vk.messages.send(user_id=event.user_id,
- message='в активном поиске')
- elif relation == 7:
- vk.messages.send(user_id=event.user_id,
- message='влюблён '+relation_partner(event.user_id))
- elif relation == 8:
- vk.messages.send(user_id=event.user_id,
- message='в гражданском браке '+relation_partner(event.user_id))
- else:
- vk.messages.send(user_id=event.user_id,
- message='не указано')
- elif sex(event.user_id) == 1:
- if relation == 1:
- vk.messages.send(user_id=event.user_id,
- message='не замужем')
- elif relation == 2:
- vk.messages.send(user_id=event.user_id,
- message='есть друг '+relation_partner(event.user_id))
- elif relation == 3:
- vk.messages.send(user_id=event.user_id,
- message='помолвлена '+relation_partner(event.user_id))
- elif relation == 4:
- vk.messages.send(user_id=event.user_id,
- message='замужем '+relation_partner(event.user_id))
- elif relation == 5:
- vk.messages.send(user_id=event.user_id,
- message='всё сложно '+relation_partner(event.user_id))
- elif relation == 6:
- vk.messages.send(user_id=event.user_id,
- message='в активном поиске')
- elif relation == 7:
- vk.messages.send(user_id=event.user_id,
- message='влюблена '+relation_partner(event.user_id))
- elif relation == 8:
- vk.messages.send(user_id=event.user_id,
- message='в гражданском браке '+relation_partner(event.user_id))
- else:
- vk.messages.send(user_id=event.user_id,
- message='не указано')
- else:
- vk.messages.send(user_id=my_id, message=event.text + ' ({})'.format(silca()))
- sleep(3)
- elif event.type == VkEventType.USER_ONLINE:
- print('Пользователь', event.user_id, 'онлайн', event.platform)
- online_time = vk.utils.getServerTime()
- online_time = datetime.fromtimestamp(online_time).strftime('%H:%M:%S')
- vk.messages.send(user_id=my_id, message='Online {} {} {}'.format(silca(),platform() ,online_time))
- elif event.type == VkEventType.USER_OFFLINE:
- print('Пользователь', event.user_id, 'оффлайн', event.offline_type)
- type_offline = str(event.offline_type)
- type_offline = type_offline[14:].capitalize()
- vk.messages.send(user_id=my_id, message='Offline {} {} {} '.format(silca(), last_seen(), type_offline))
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement