[FACEBOOK] [UPDATE] Script to send mass messages to Facebook messenger V2

Tiếp tục với seri "Auto Chúc Tết" thì có một số vấn đề nhỏ khi dùng bản v1 đó là tốc độ quá chậm, vậy thì bài viết mới này mình sẽ làm bản v2 nhé.

CHÚNG TA BẮT ĐẦU NHÉ.

BƯỚC 1: Chúng ta sẽ copy đoạn code dưới đây
var html = document.body.textContent
let stringger = html.split('chat_sidebar_contact_rankings')[1].split('</script>')[0]
text = stringger.split('{"status":0')
let id = '', name = '', uniCode = ''
let ids = {}
for (let t of text) {
	if (t.includes('buddy_id')) {
		id = t.split('"buddy_id":"')[1].split('"')[0]
		uniCode = t.split('"name":"')[1].split('"')[0]
		name = JSON.parse('"' + uniCode + '"')
		ids[id] = name
	}
}
console.log(ids)

BƯỚC 2: Chúng ta vào https://www.facebook.com, click chuột phải chọn Inspect rồi chọn tab Console hoặc tổ hợp ctrl + shift + i (sẽ vào thẳng tab Console luôn) Sau đó chúng ta paste đoạn code ở Bước 1 vào và nhấn Enter. Màn hình sẽ trả về một đoạn Object (nôm na thì nó là danh sách bạn bè của các bạn thôi). Chúng ta click chuột phải, chọn Copy object và paste tạm vào một chỗ nào đó để tý nữa dùng tiếp nhé.
BƯỚC 3: Tiếp tục chúng ta copy đoạn code dưới đây - nhân vật chính...
function sendMsg(uid, msg, name) {
	var xhr1 = new XMLHttpRequest()
	xhr1.open('GET', `https://m.facebook.com/messages/read/?fbid=${uid}`, true)
	xhr1.onreadystatechange = function () {
		if (xhr1.readyState === 4 && xhr1.status === 200) {
			let html = xhr1.responseText
			let tids = html.match(/tids=([^&]+)&amp;/)[1].replace('%3A', ':')
			let formAction = html.match(/action="([^"]+)"/)[1].replace(/&amp;/g, '&')
			let fb_dtsg = html.split('name="fb_dtsg" value="')[1]
			let jazoest = html.split('name="jazoest" value="')[1].split('"')[0]

			msg = msg.includes('<name>') ? msg.replace(/<name>/g, name) : msg

			let formData = new FormData()
			formData.append('tids', tids)
			formData.append('wwwupp', 'C3')
			formData.append(`ids[${uid}]`, uid)
			formData.append('platform_xmd', '')
			formData.append('body', msg)
			formData.append('waterfall_source', 'message')
			formData.append('action_time', Date.now())
			formData.append('fb_dtsg', fb_dtsg)
			formData.append('jazoest', Number(jazoest))
			let url = 'https://m.facebook.com' + formAction

			var xhr2 = new XMLHttpRequest();
			xhr2.open('POST', url, true)
			xhr2.send(formData)
			xhr2.onreadystatechange = function () {
				if (xhr2.readyState === 4 && xhr2.status === 200) {
					console.log(`[${uid}: ${name}] Thành công`)
				}
			}
		}
	}
	xhr1.send()
}

var msgList = [];
var inputVal;
var listUid = ''

do {
	inputVal = prompt('Nhập xong mỗi tin nhắn thì nhấn [ENTER] hoặc [Ok], tiếp tục..., kết thúc bằng cách nhấn nút [Cancel]\nNgoài ra có thể dùng <name> để gửi tin nhắn kèm tên của người nhận, ví dụ:\nXin chào <name> nhé')
	if (inputVal !== null) {
		msgList.push(inputVal)
	}
} while (inputVal !== null)

listUid = prompt('Nhập danh sách facebook uid:')
let delay = prompt('Nhập thời gian delay (khuyến nghị để ~> 1000)')
var listID = JSON.parse(listUid)

for (let i in listID) {
	let msg = msgList[Math.floor(Math.random() * msgList.length)]
	let uid = i
	let nL = listID[i].split(' ').length
	let name = listID[i].split(' ')[nL - 1]
	if (msg.length > 0) {
		setTimeout(() => {
			sendMsg(Number(uid), msg, name)
		}, Number(delay))
	}
}

BƯỚC 4: Vào https://m.facebook.com và tiếp tục lick chuột phải chọn Inspect rồi chọn tab Console hoặc tổ hợp ctrl + shift + i (sẽ vào thẳng tab Console luôn) Sau đó paste đoạn code Bước 3 vào, nhấn enter, và nhập lần lượt các tin nhắn, sau mỗi tin nhắn thì nhấn OK hoặc nhấn Enter, khi hết tin nhắn thì nhấn Cancel là được Ngoài ra phần nhập danh sách bạn bè nếu các bạn không muốn gửi cho ai thì xóa người đó đi là được, lưu ý người ở cuối danh sách không có dấu "," (dấu phẩy) ở sau cùng nhé, không là lỗi đó nha.

Time delay thì nên để > 1000 (ms) để tránh bị ban nick nhé.

Lưu ý là script này sẽ random các tin nhắn để gửi nhé, nên mọi người soạn đa dạng tý rồi gửi cũng được.

Một lưu ý nhỏ nữa, là người nhận tin nhắn có thể là người ngoài cũng được, nghĩa là bạn có thể custom cái danh sách bạn bè theo ý muốn. Và toàn bộ Id (kể cả bạn bè) thì bạn phải nhắn tin với người đó ít nhất một câu (lần) thì mới không lỗi, lỗi này mình có để cập ở video trong bản v1, các bạn xem tại đây.

VIDEO HƯỚNG DẪN CỤ THỂ:


Mình vừa cập nhật lại thủ thuật cho mọi người cùng nhau test thử nhé, nếu có lỗi gì thì có mọi có thể báo tại đây hoặc sang trang chính H2.IO.VN để báo nhé. Cảm ơn cả nhà đã quan tâm.

PASSWORD UNZIP: HUNG.PRO.VN
Chúc Mọi Người Thành Công Với Thủ Thuật Trên.
Nếu mọi người có vướng mắc gì mình chia sẽ trên trang có thể gửi liên hê cho mình tại đây nhé.
Cảm ơn mọi người đã quan tâm.

5 comments:

Game Mod said...

thấy có thay đổi đâu, code vẫn vậy mà

Ju Hazutora said...

a chưa thử nhưng xem video cũng ok đó e, nhưng sợ bị band tài khoản

Khoa Nguyen said...

A để time delay trên 1000ms để tránh bị a band a nhé.

Ju Hazutora said...

Cũng ok e, a đã test. Chất lượng. Nhưng nhiều bước, nếu tích hợp chỉ cần chạy file đó thì nó tự động lấy id và gửi tin nhắn mình định sẳn trong code luôn e.

Hung Program VN said...

Cảm ơn a đã viết bài giùm e :D, thời gian này gần cuối năm cuối tháng nên việc e nhiều quá kô có thời gian để tìm hiểu và viết bài chia sẽ thủ thuật lập trình cho mọi người :D hehe.

All Right Reserved © 2015 By Hung Pro VN