Script gửi tin nhắn hàng loạt 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é.

Bước1

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.

Đây là đoạn code do mình tự viết kết hợp với một số hướng dẫn của ChatGPT. Và mình không mã hóa nên các bạn có thể custom theo ý thích nhé. Mình mong các bạn không lạm dụng nó vào chuyện xấu gây phiền phức cho người khác. Mãi yêu.

Video hướng dẫn cụ thể từng bước, chúc các bạn thành công. 

0
0
0
0
0
Ng.Đ Hoàng

@iHoala

Đăng nhận xét

Mới hơn Cũ hơn