You are currently viewing Отправьте сообщение другу Facebook с помощью Python

Отправьте сообщение другу Facebook с помощью Python

Мощь Python объясняется большим количеством модулей, которые он имеет. На этот раз мы собираемся использовать один из них. У каждого из нас, так или иначе, есть желание отправить сообщение (или отправить спам -.-) нашему другу на Facebook. Это программа, которая может сделать что-то подобное. Так что без дальнейших проволочек давайте сразу приступим к делу.

import fbchat
from getpass import getpass
username = str(raw_input("Username: "))
client = fbchat.Client(username, getpass())
no_of_friends = int(raw_input("Number of friends: "))
for i in xrange(no_of_friends):
	name = str(raw_input("Name: "))
	friends = client.getUsers(name) # return a list of names
	friend = friends[0]
	msg = str(raw_input("Message: "))
	sent = client.send(friend.uid, msg)
	if sent:
		print("Message sent successfully!")

Теперь давайте попробуем разобраться в программе шаг за шагом…
Необходимые модули – fbchat (можно скачать здесь: ссылка на Github); getpass (обычно он предварительно установлен)
Установка fbchat:

sudo pip install fbchat

В случае возникновения ошибки: ** убедитесь, что установлены пакеты разработки libxml2 и libxslt **
В Ubuntu может помочь установка следующих пакетов:

sudo apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev

Объяснение программы: Программу можно разбить на несколько этапов:
Шаг 1: Получение учетных данных пользователя
Эта часть очень проста. С помощью raw_input() и getpass() мы можем получить имя пользователя и пароль. На этом этапе следует иметь в виду некоторые вещи.
 

  1. В вашей учетной записи Facebook должно быть имя пользователя. Вы можете проверить это (или установить это), перейдя в общие настройки.
  2. Мы не используем raw_input для получения пароля, потому что, как только символы (или даже длина пароля) отсутствуют, мы получаем нарушение безопасности.

Шаг 2: Ввод имени друга на Facebook 
Теперь, когда мы вошли в систему, мы можем ввести количество друзей, которым мы хотим отправить сообщение, и для каждого из этих друзей мы можем ввести пользовательское сообщение.
Шаг 3: Рассылка спама *зло* 

По какой-то причине, если вы хотите отправить одно и то же сообщение несколько раз, вы можете использовать простой цикл for. В этом нет ничего сложного, что вы можете попробовать сейчас? 
 

  • Отправьте сообщение в групповой чат.
  • Вместо того, чтобы отправлять только текст, отправляйте также изображения.
  • Создайте свой собственный » настольный’ мессенджер.

Facebook – Отправьте пустое сообщение 
С помощью обычного чата Facebook или мессенджера, отправить пустое сообщение невозможно, если вы не знаете о трюке alt+0173. Но с помощью этой программы вы также можете отправлять пустые сообщения!! Все, что вам нужно сделать, это ввести пустое сообщение. То есть, когда программа запрашивает отправку сообщения, просто нажмите enter, и вуаля!! Ваш друг будет получать серию пустых сообщений…

Этот новый код пока работает нормально : 

import fbchat
from getpass import getpass
username = str(raw_input("Username: "))
client = fbchat.Client(username, getpass())
no_of_friends = int(raw_input("Number of friends: "))
for i in xrange(no_of_friends):
	name = str(raw_input("Name: "))
	friends = client.searchForUsers(name) # return a list of names
	friend = friends[0]
	msg = str(raw_input("Message: "))
	sent = client.sendMessage(msg, thread_id=friend.uid)
	if sent:
		print("Message sent successfully!")

Если у вас есть какие-либо другие проекты, связанные с этим, или если вы подготовили что-то подобное этому, пожалуйста, поделитесь в разделе комментариев!