Skip to content

Commit

Permalink
inital commit
Browse files Browse the repository at this point in the history
  • Loading branch information
trickstarcandina committed Jan 13, 2022
1 parent 2bf4aac commit c45354c
Show file tree
Hide file tree
Showing 8 changed files with 1,031 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### VS Code ###
.vscode/
/node_modules
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Yêu cầu

> - NodeJs: https://nodejs.org/en/
> - Cách lấy ID Discord: https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID-
> - Có 1 trình edit để sửa file, nếu không có thì dùng notepad cũng được.
# OwO Version2

> - Bước 1: Ctrl + Shift + I trên trình duyệt. Chọn Network -> Fetch/XHR -> Chọn 1 trường bất kỳ và tìm trong Request Headers
authorization: "****************************"
Cái *** là token của bạn.

> - Bước 2: Lấy TOKEN của user muốn auto (để đảm bảo an toàn sau khi lấy token KHÔNG share Token cho người khác)
> - Bước 3: Điền thông tin vào `info.json`
3.1: Điền Token acc spam
3.2: Điền ID kênh spam
3.3: Điền ID owner (acc bạn gửi noti khi có captcha)
3.4: Bật tắt các lệnh muốn spam, với false là bật, true là tắt
3.5: List gem bạn muốn sử dụng. Ở đây sử dụng chung cùng 1 cấp gem.
(Những số có thể điền trong list gem có thể điền là 51 52 53 54 55 56 57)

TH1 : Chỉ dùng 1 acc để auto và acc đó là owner thì điền ID là acc đó luôn vào chỗ "owner".
TH2 : Có 2 acc : 1 acc spam và 1 acc owner để bắn noti thì điền "owner" là ID của acc owner.
> Ưu tiên cách 2 hơn vì nó bắn noti trên PC sẽ biết lúc nào dính captcha để mình còn xử lý.

> - Bước 4: Chạy file `start.bat`
### Khi bị dính captcha bot sẽ tự dừng auto lại và acc spam gửi captcha về tin nhắn riêng của owner, tại acc owner bạn trả lời tin nhắn vừa được acc spam gửi hoặc có thể login vào acc spam trả lời captcha.

## Commands:

`spy!stop` để dừng lại <br>
`spy!cont` để tiếp tục

# OwO Version2

Version này config giống version trước nhưng khác ở chỗ là version này spam theo giờ cố định bạn đặt từ trước, ngoài thời gian đó sẽ không spam.
Nó có lợi trong trường hợp bạn có thể bật máy cả ngày và không có muốn ngồi canh captcha, tất nhiên là cũng sẽ có lúc bot sẽ gửi captcha, việc ngắt thời gian chỉ giảm thiểu chứ không tránh được.

> - Bạn copy trong thư mục 'version_new' file 'index2.js' ra ngoài thư mục OwO
> - Đổi tên 'index.js' thành 1 tên khác, đổi tên 'index2.js' thành 'index.js'
145 changes: 145 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
const Discord = require("discord.js-selfbot");
const data = require("./info.json");
const { scheduleJob, Job, RecurrenceRule } = require("node-schedule");
const client = new Discord.Client();
let channel = data.channel;
let owner = data.owner;
const huntBattleRule = new RecurrenceRule();
huntBattleRule.second = [0, 36];
const buyRule = new RecurrenceRule();
buyRule.second = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55];
const owoRule = new RecurrenceRule();
owoRule.second = [0, 29, 52];
/**
* @type { Job }
*/
let huntJob;
let buyJob;
let owoJob;

client.on("ready", () => {
console.log("Quẩy lên!");

if (!data.disable.hunt || !data.disable.battle)
huntJob = scheduleJob(huntBattleRule, () => {
setTimeout(() => {
if (!data.disable.hunt) client.channels.cache.get(channel).send("owoh");
}, getRandomInt(1200));
setTimeout(() => {
if (!data.disable.battle)
client.channels.cache.get(channel).send("owob");
}, getRandomInt(1200));
});

buyJob = scheduleJob(buyRule, () => {
if (!data.disable.buy) client.channels.cache.get(channel).send("owobuy 1");
});
owoJob = scheduleJob(owoRule, () => {
if (!data.disable.owo) client.channels.cache.get(channel).send("owo");
});
});

client.on("message", (message) => {
// check captcha
if (message.channel.id !== channel && message.channel.type !== "dm") return;
if (message.author.id !== "408785106942164992") return;
if (
[
"Beep Boop. A",
"real human?",
"can check!",
"Please DM me",
"Wrong verification",
" Please complete your captcha",
"solving the captcha",
"http://verify.owobot.com/",
" Please use the link ",
].some((phrase) =>
message.content.toLowerCase().includes(phrase.toLowerCase())
)
) {
buyJob.cancel();
huntJob.cancel();
owoJob.cancel();
if (client.user.id === owner) return;
client.users.cache.get(owner).send(message.content);
if (!!message.attachments.size)
client.users.cache.get(owner).send(message.attachments.first());
}
if (message.content.includes("Thank you! :3")) {
buyJob.reschedule(buyRule);
huntJob.reschedule(huntBattleRule);
owoJob.reschedule(owoRule);
if (client.user.id === owner) return;
client.users.cache.get(owner).send(message.content);
}
});

//spent 5 <:cowoncy:416043450337853441> and caught an
client.on("message", (message) => {
if (message.channel.id !== channel && message.channel.type !== "dm") return;
if (message.author.id !== "408785106942164992") return;
if (
["spent 5", "and caught an"].some((phrase) =>
message.content.toLowerCase().includes(phrase.toLowerCase())
)
) {
//stop
huntJob.cancel();
buyJob.cancel();
owoJob.cancel();

let randomGem = getRandomInt(data.inv.length);
setTimeout(() => {
client.channels.cache
.get(channel)
.send(
"owouse " +
data.inv[randomGem].toString() +
" " +
(data.inv[randomGem] + 14).toString() +
" " +
(data.inv[randomGem] + 21).toString()
);
}, 1686);
// setTimeout(() => {
// client.channels.cache.get(channel).send("owouse " + (data.inv[randomGem] + 14).toString())
// }, 16666)
// setTimeout(() => {
// client.channels.cache.get(channel).send("owouse " + (data.inv[randomGem] + 21).toString())
// }, 28666)

//cont
buyJob.reschedule(buyRule);
huntJob.reschedule(huntBattleRule);
owoJob.reschedule(owoRule);
}
});

client.on("message", (message) => {
if (
message.author.id === owner &&
message.channel.type === "dm" &&
message.content.length === 5
) {
client.users.cache.get("408785106942164992").send(message.content);
}
if (message.channel.id === channel && message.author.id === owner) {
if (message.content.toLowerCase() === "spy!stop") {
huntJob.cancel();
buyJob.cancel();
owoJob.cancel();
}
if (message.content.toLowerCase() === "spy!cont") {
buyJob.reschedule(buyRule);
huntJob.reschedule(huntBattleRule);
owoJob.reschedule(owoRule);
}
}
});

client.login(data.token);

function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
12 changes: 12 additions & 0 deletions info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"token": "điền token vào đây, ko xóa dấu nháy kép đi ",
"channel": "điền id channel vào đây, ko xóa dấu nháy kép đi",
"owner": "điền id owner vào đây, ko xóa dấu nháy kép đi",
"disable": {
"hunt": false,
"battle": false,
"owo": false,
"buy": true
},
"inv": [53, 54]
}
Loading

0 comments on commit c45354c

Please sign in to comment.