Не отображается день рождения вконтакте. Заметки вконтакте

Всем приятно получать подарки, а ещё приятнее их дарить. Но совсем становится приятно, когда о твоём дне рождения помнят многие и многие, и близкие знакомые и далёкие. Очень приятно получить в день рождения смску или хотя бы сообщение в социальной сети, пусть с шаблонным поздравлением, но всё-таки тебя не забывают. Для iPhone/iPad существует замечательное, хоть и платное, приложение ВКонтакте.ДниРождения , которое напомнит вам о днях рождения ваших друзей в социальной сети вконтакте. Напомнит и поможет отправить небольшое поздравление, получив которое, ваш друг, возможно когда-то очень близкий, порадуется, что вы его не забываете

Если вы читаете статью с вашего iPhone/iPad, просто перейдите по

ЭТОЙ ССЫЛКЕ и сразу же сможете загрузить приложение ВКонтакте.ДниРождения . Если же вы читаете статью с компьютера, хватайте ваш iPhone/iPad, открывайте App Store и в поиске набирайте ВКонтакте.ДниРождения . Приложение стоит 1$. Лично мне совершенно не жалко этих денег за такое полезное приложение!

После установки в меню появится иконка приложения

Использование приложения ВКонтакте.ДниРождения очень простое. После первого запуска приложение загрузит список дней рождения ваших друзей, используя вашу учетную запись вконтакте. Для загрузки списка в главном меню нажмите кнопку Обновить

После этого в главном меню нажмите кнопку Настройки и настройте время суток, когда приложение ВКонтакте.ДниРождения будет уведомлять вас о том, кто из ваших друзей вконтакте празднует свой день рождения сегодня.

Так же можно не дожидаться уведомлений о днях рождения ваших друзей, а нажать в главном меню кнопку Друзья и увидеть ближайшие дни рождения ваших друзей вконтакте.

Лично я стараюсь писать поздравительные смс, нежели сообщения вконтакте. На пару рублей я не обеднею, а получить смску у юбиляра гораздо больше шансов, так как телефон всегда с собой, нежели неизвестно когда полезть в контакт и увидеть сообщение одно из многих и закрыть его на автомате. Но бывают случаи когда номера телефона друга, чей случился день рождения, нет. И на своей странице вконтакте номер телефона он так же не написал. Остается отправлять поздравительное сообщение в социальную сеть. Для этого в правом верхнем углу контакта, у которого сегодня день рождения, жмем конвертик

Всем привет и с Новым Годом! Сегодня расскажу о своем новом проекте Бот Напоминалка (vk.com/notifytomebot)

Зачем?

Отвечая на этот вопрос, я опираюсь на собственный опыт работы с программами напоминалками на мобильный. У всех у них есть один существенный минус: они сторонние приложения. Именно поэтому иногда так не приятно смотреть на то, как долго оно открывается после закрытия другого. Боты же набирают всё большую популярность. А чего стоит эта история с ботом Дедом Морозом (vk.com/cocacola) ?! В связи с этим возникла мысль, а почему бы не сделать такого же бота в вк только напоминалок? Задача не трудоёмкая, интересная да и возможно востребованная.

Как?

С помощью API Vk и PHP.

Как оно работает?

Работает по принципу телеграмм ботов. Основная функция на данный момент — «Напомни». То есть ты пишешь ему напомни съездить завтра в магазин. И на следующий день он пришлет напоминание в 9 часов утра!
Если хочется уточнить время напоминания — надо просто добавить в фразе «в 12.15 «.
Если написать ему просто «напомни купить сыр», то задание «купить сыр» попадает в туду лист, и весит там пока вы его не вычеркните.
Чтобы увидеть текущий туду лист отправьте «Список».
Чтобы вычеркнуть оттуда задачу напишите «Удалить (номер задачи в листе)».
Чтобы увидеть текущий план (то есть предстоящие задачи с указанным временем) отправьте боту «План». После чего он выведет задачи с указанием времени.

Добрый день, друзья. В этой короткой статье мы узнаем, как не пропустить день рождения вашего и вовремя поздравить его, а так же узнаем, что такое календарь и где он находится.

При и в разделе “Редактировать”, вкладка “Основное” по желанию любой пользователь может заполнить графу “День рождения”, вписав туда дату. Это можно сделать не только при регистрации, но и в любое время после создания страницы.

Дни рождения пользователей ВКонтакте

После того, как пользователь указал дату своего “грустного праздника”, она автоматически сохраняется в базу данных социальной сети для последующей работы с ней. Для чего это делается? Когда наступает тот самый день, ВКонтакте оповещает всех друзей именинника, чтобы те могли поздравить его с праздником.

Где отображается день рождения пользователя ВК

ДР указывается на странице пользователя в основной информации (в том случае, если она указана в настройках). Чтобы узнать, когда человек родился, нужно просто перейти на его страницу и глянуть дату в соответствующей строке. Даже если вы не близкие друзья, а просто знакомые, человеку будет приятно, если вы запомните дату его “грустного праздника” и в этот день поздравите его.


Оповещение о дне рождения друга

Вконтакте оповещает, когда у вашего друга близится или наступает ДР. Оповещение приходит за день до праздника и в сам день рождения.

Если перейти на страницу к имениннику, то и там появится оповещение о празднике. В обоих оповещениях вам сразу предложат отправить подарок пользователю (об этом читайте в статье “Подарки ВКонтакте”).

Вы можете нажать на ссылку “Показать все подарки” и перейти в магазин. Для того, чтобы купить подарок, вы должны иметь деньги на счету аккаунта. Об этом читайте в статье “Как положить деньги на счет ВКонтакте”. Если у вас на счету есть деньги – то вы можете просто выбрать подарок, купить его и отправить имениннику.

Как изменить дату рождения ВКонтакте

Вы можете в любое время изменить или заполнить информацию о дне вашего рождения. Для этого нужно перейти в , раздел “Редактирование”, вкладка “Основное”.

Календарь ВКонтакте

Для чего нужен календарь ВКонтакте. Это своеобразный сервис, где отображаются все дни рождения ваших друзей. Да, мы помним, что оповещения о них приходят о них за день и в сам день рождения. Но иногда в начале месяца хочется просто посмотреть, кто в текущем месяце празднует свой ДР.

Информация в календаре

Давайте посмотрим, где он располагается. Нужно зайти на страницу “Друзья”, и в правом верхнем углу меню увидите иконку с изображением календаря.

  • посмотреть ближайшие дни рождения друзей и события;
  • прямо отсюда написать поздравление или отправить подарок имениннику;
  • посмотреть праздники друзей и события на весь текущий месяц, а так ДР и события в следующих месяцах (и минувшие);

Теперь вы знаете, как узнать о дне рождения друга ВКонтакте и не забудете поздравить его. А на этом у нас все..

Здравствуйте, друзья! В сегодняшней статье я Вам расскажу, как можно посмотреть дни рождения своих друзей Вконтакте. После этого, Вы никогда не пропустите важную для другого человека дату, и не забудете его поздравить, если, конечно, будет желание.

После обновления социальной сети в 2016 году, привычное окошко с левой стороны страницы, в котором показывалось, у каких людей из Вашего списка друзей сегодня или завтра ДР, пропало. Многих пользователей это смутило. Ведь раньше, зашел на страницу, посмотрел, кто сегодня родился, а дальше уже решаешь, поздравлять или нет.

Сейчас все немного по-другому. Вконтакте появился календарь дней рождений . В нем Вы можете посмотреть, когда у друзей дни рождения, и сколько исполняется или исполнилось каждому человеку. Также на Вашей странице есть оповещения, в которых будут отображаться именинники.

Посмотреть дату рождения друга и возраст можно только в том случае, если человек указал данную информацию на своей странице Вконтакте и сделал ее открытой. Бывает и так, что люди пишут неправдивую дату. Поэтому, если Вы плохо знаете человека, то решайте сами, поздравить или нет, а то можете попасть в неловкую ситуацию.

О том, я уже рассказывала. Можете указать только день и месяц, без года, тогда другие пользователи не смогут точно говорить про Ваш возраст.

Как узнать день рождения друга

Для того чтобы узнать знаменательную дату определенного друга Вконтакте или любого пользователя, которого может и не быть в списке Ваших друзей, зайдите на главную страницу его профиля.

Если человек у Вас в друзьях, найдите его в данном списке и кликните по имени.

Под именем будет поле «День рождения». Может быть указана полная дата, а может только число и месяц – это уж как захочет сам пользователь.

Если же такое поле отсутствует, значит, человек скрыл данную информацию в настройках своей страницы, или вовсе не указал ее.

Смотрим дни рождения друзей

Если же Вам интересно посмотреть др всех Ваших друзей Вконтакте, тогда нужно открыть календарь.

На странице своего профиля перейдите в раздел «Друзья».

В отдельном окошке откроется «Календарь».

Вверху будут показаны пользователи, у которых день рождения сегодня. Чтобы поздравить друга с важным событием, не нужно будет даже переходить на его страницу. Для этого достаточно нажать на кнопку или отправки сообщения, или отправки подарка.

Используя стрелки, листайте календарь.

Наведя курсор мышки на выбранного друга, можно посмотреть, сколько ему исполнилось или исполняется лет, если конечно он указал в профиле год своего рождения.

Где смотреть дни рождения с телефона

Если Вы хотите посмотреть др друзей Вконтакте с телефона, тогда скачайте с Play Market или App Store приложение Вконтакте.

Затем, возле названия страницы, нажмите на стрелочку.

Из выпадающего меню выберите пункт «Дни рождения».

В списке сверху будут показаны пользователи, которые отмечают именины сегодня. Чуть ниже можно посмотреть, у кого из друзей др в ближайший месяц.

Хорошо то, что отображается, сколько лет пользователю исполнится, если есть год его рождения. А вот посмотреть, кто родился через 3 или 4 месяца не получится.

Давайте покажу, как посмотреть дни рождения в вк используя приложение для мобильных телефонов на Андроид Kate Mobile.

Скачайте приложение и зайдите в свой профиль. Дальше нажмите на три вертикальные точки в правом верхнем углу.

Выберите из списка пункт «Дни рождения».

Страница с датами Ваших друзей откроется на ближайшем человеке, который будет отмечать именины. Можете листать список вверх или низ. В примере, я могу пролистать вниз и посмотреть, кто родился не только в апреле, но и в мае, июне и так далее.

Но данное приложение не показывает, сколько человеку исполнится или исполнилось лет, в отличие от официального приложения Вконтакте.

Как включить напоминания о днях рождения

Если Вы хотите получать уведомления о др друзей, тогда нужно включить данную функцию в настройках страницы.
Посмотреть, кто сегодня родился, можно в уведомлениях своего профиля. Для этого нажмите на значок колокольчика вверху страницы.

Если у одного из Ваших друзей сегодня день рождения, тогда количество новых уведомлений (это красное число, которое отображается возле колокольчика) увеличится на единицу, а в самом окне будет строка «Сегодня день рождения у …».

Если такие оповещения не приходят, тогда в окне «Уведомления» нажмите на кнопочку «Настройки».

Откроется окно настроек Вашего профиля на вкладке «Оповещения». В разделе «Тип событий» нужно поставить галочку напротив поля «Дни рождения».

Вот такими несложными способами можно узнать Вконтакте, когда родились Ваши друзья, и теперь Вы уж точно не забудете поздравить нужного человека.

Сегодня меня вновь попросили напомнить человеку о важной вещи в определённое время. Но что делать, если я и про свои-то дела забываю постоянно, а уж тем более про дела кого-то ещё? И тут мне снова помог мой любимый python.

Честно говоря, обычные программы-напоминалки, что в телефоне, что в компьютере, меня не устраивали из-за их ограниченности рамками устройства + они совершенно не решали задачу, когда нужно напомнить о чём-то, но не мне. Решение пришло как-то само-собой. А что, если напоминания будут приходить как сообщения вконтакте? Если я не на рабочем месте - телефон свибрирует своим пуш-ап уведомлением, а за компьютером всё ещё очевиднее. Цель - написать скрипт, который читает мои сообщения о напоминании и в заданное время напоминает кому нужно о том, что, собственно, требуется. Ну раз идея пришла, я приступаю к её реализации.

Стартуем

Внимание! В этой статье я покажу как сделать это без использования API Вконтакте. Но для тех, кому хочется посмотреть(или использовать), как это делается с помощью, собственно, API, я прикладываю версию скрипта, работающего через API. Ссылка на него в конце статьи.

Для начала научим наш скрипт логиниться в эту социальную сеть. Всё просто, используем стандартный mechanize.Browser()

Br = mechanize.Browser() br.set_handle_equiv(True) br.set_handle_redirect(True) br.set_handle_robots(False) br.open("https://vk.com/") br.select_form(nr=0) br.form["email"] = name br.form["pass"] = password br.submit()
Вуаля! Мы зашли на свою страничку вконтакте. Теперь используем классную особенность вконтакта - возможность писать самому себе(кто не в курсе, как это делается - перейдите по ссылке vk.com/im?sel=id , где id - Ваш id в социальной сети. В моём случае это был 38591009).

Первым делом прочитаем эти сообщения. Для этого мне нужно узнать свой id(он есть в коде главной страницы, причём повторяется множество раз).

Self_username = "username" def get_self_page_id(br): br.open("https://vk.com/"+self_username) return br.response().read().split("

").split("
") all_numbers.append(msg_num) if first_start: msg_numbers = all_numbers first_start = False new_numbers = set(all_numbers) - set(all_numbers).intersection(set(msg_numbers)) for num in new_numbers: reply_to_message(br, get_message_text(response, num)) #вызов функции ответа на сообщение. Опишу её позже. msg_numbers = all_numbers

Начинаем внутренний диалог

Отлично. Теперь мы знаем какие сообщения поступили мне от меня недавно. Осталось их понять и сделать что-то в ответ. Займёмся сначала первой задачей:

Def reply_to_message(br, message): if message.find("напомнить") == -1: print "nothing" else: print "I obey, my lord" ms_words = message.split(" ") user = "self" time_s = datetime.datetime.now().strftime("%H:%M") day_s = str(datetime.date.today()) msg = "something went wrong" times = message.split("|") if len(times) == 1: times = "1" else: times = int(times) if ms_words == "в": user = "self" time_s = ms_words msg = message.split("текст ").split("|") elif ms_words == "день": user = "self" time_s = ms_words day_s = ms_words msg = message.split("текст ").split("|") elif ms_words == "в": user = get_page_id(br, ms_words) time_s = ms_words msg = message.split("текст ").split("|") elif ms_words == "день": user = get_page_id(br, ms_words) time_s = ms_words day_s = ms_words msg = message.split("текст ").split("|") let_it_do(user, time_s, day_s, msg, times) #вызов функции, которая знает, что делать с полученными из сообщения значениями.
Здесь я спличу полученные сообщения и заношу в переменные соответствующие значения. В общем, отвечаю на вопросы «кому напомнить?», «что напомнить?», «когда и сколько раз это сделать?». Синтаксис сообщения/команды выбрал не сложный: напомнить [кому] [дата] в [время] текст [текст сообщения]|[сколько раз]. Вот пример:«напомнить tenoclock в 14:10 текст Очередной тест | 4»

Так наш робот видит внутренний диалог

Для хранения заданий я выбрал базу данных sqlite3. Нагрузка у нас минимальная, разворачивается она совершенно без усилий. Теперь приступим к записи заданий в базу данных, по пути проверяя валидность даты и времени. Выглядит это вот так:

Def valid_time(time_text): try: datetime.datetime.strptime(time_text, "%H:%M") return True except ValueError: send_message(br_fake, get_self_page_id(br), "неверный формат времени") return False def valid_date(date_text): try: datetime.datetime.strptime(date_text, "%Y-%m-%d") return True except ValueError: send_message(br_fake, get_self_page_id(br), "неверный формат даты") return False def let_it_do(user, time_s, day_s, message, times): if valid_time(time_s) and valid_date(day_s): c = conn.cursor() c.execute("INSERT INTO reminder (time, date, user, message, times) VALUES (?,?,?,?,?)",(time_s, day_s, user, message, str(times))) conn.commit()

Финишная прямая

Мы уже близки к финалу! Задания наш робот получил, себе их записал. По сути, осталось только их выполнить. Тут я столкнулся с небольшой трудностью. Скрипт постоянно читает мои сообщения ко мне, поэтому, если он будет отправлять их в этот-же диалог, то в непрочитанных у меня ничего висеть не будет. А это плохо. Проблема решилась заведением фэйкового аккаунта для этого случая. Теперь если скрипт напоминает мне о чём-то, он пишет со второго аккаунта, если же нужно напомнить кому-то другому, то он пишет от моего имени, дабы людей не пугать.

Собственно вот пара функций, которые отвечают за чтение из базы и отсылку сообщений:

Def check_answers(): conn = sqlite3.connect("reminder.db") rows = get_rows(conn) for row in rows: print row c = conn.cursor() if row == "self": pass send_message(br_fake, get_self_page_id(br), row.encode("utf-8")) else: send_message(br, row, row.encode("utf-8")) if row == "1" or row == 1: c.execute("DELETE FROM reminder WHERE id = ?;", str(row)) else: time_s = (datetime.datetime.now()+datetime.timedelta(seconds=60)).strftime("%H:%M") num = int(row) - 1 c.execute("UPDATE reminder SET time = ?, times = ? WHERE id = ?",(time_s, str(num), row)) conn.commit() def send_message(br, id, message): br.open("https://vk.com/im?sel="+id) br.select_form(nr=0) br.form["message"] = message br.submit()
Ну и после отсылки сообщений скрипт удаляет запись из базы, если она не актуальна(если нужно повторить ещё сколько-то раз, то переносит время напоминания на минуту вперёд и уменьшает количество оставшихся отправок)

Подводим итоги

Так скрипт, который укладывается в 200 строк кода, решает проблему напоминаний себе и другим, используя социальную сеть вконтакте. Целиком его можно скачать отсюда . Если он вдруг кому-то нужен, то советую не собирать из кусков статьи, здесь только функциональные вещи. Некоторые вспомогательные штуки остались за кадром. Я запустил его на одном из своих vps. Пока, вроде как, удобно.


Робот указывает мне, что делать. В воскресенье! Дожили

После несложных модификаций сюда так-же можно включить любые другие функции управления системой, если скрипт запущен на удалённом компьютере. Поставить тот же торрент на скачивание, например. А так, в целом, можно реализовать веб-сервис, который будет заниматься напоминаниями для всех, кто попросит(фактически бота, как в, уже забытых сейчас, irc и icq) Но эти вещи уже не относятся к данной статье. Буду очень рад, если кому-то это было полезным.

Всем спасибо за внимание.

UPD: Не спешите разжигать факелы и точить вилы по поводу API. Я сознательно его не использую в этом скрипте из-за некоторых неудобных мест. А именно авторизации и работы с диалогами. Впрочем, в первых же комментариях я раскрыл эту тему. Цель этой статьи показать, как быстро и, практически, не применяя сторонней информации, кроме знания родного для разработчика языка, сделать жизнь несколько проще.

UPD #2: Тот же скрипт, но с использованием могучего API Вконтакте можно взять . Теперь работает без использования фэйкового аккаунта. Это несомненный плюс.

Теги: Добавить метки