-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
124 lines (111 loc) · 3.49 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//modules
require("dotenv").config();
const {
Client,
GatewayIntentBits,
Partials,
EmbedBuilder,
ActivityType,
} = require("discord.js");
const prefix = "!";
const { yahooSearch } = require("./webScraper/yahooSearch");
const { googleSearch } = require("./webScraper/googleSearch");
const { videoSearch } = require("./webScraper/videoSearch");
const { gitHubUserSearch } = require("./webScraper/githubSearch");
// Client
const client = new Client({
intents: [
GatewayIntentBits.DirectMessages,
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildBans,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
],
partials: [Partials.Channel],
});
// Event on ready
client.once("ready", () => {
client.user.setPresence({
activities: [{ name: `Barbie`, type: ActivityType.Watching }],
});
console.log(
"bot logado em " +
client.guilds.cache.size +
" servers com " +
client.channels.cache.size +
" canais"
);
});
// Event on message
client.on("messageCreate", async (message) => {
if (message.author.bot) return;
// ? Transformando a mensagem em um array
const commandBody = message.content.slice(prefix.length);
const args = commandBody.split(" ");
const command = args.shift().toLowerCase();
if (command === "src") {
yahooSearch(
message.content.substring(5, message.content.length).replace(/ /g, "+")
)
.then((embed) => {
message.channel.send({ embeds: [embed] });
})
.catch((err) => console.log(err));
} else if (command === "watch") {
videoSearch(message).then((embed) => {
message.channel.send({ embeds: [embed] });
});
} else if (command === "google") {
const embed = await googleSearch(
message.content.substring(8, message.content.length)
);
message.channel.send({ embeds: [embed] });
} else if (command === "github") {
const embed = await gitHubUserSearch(
message.content.substring(8, message.content.length)
);
message.channel.send({ embeds: [embed] });
}
// ? menu de comandos
else if (command === "comandos") {
const commandEmbed = new EmbedBuilder()
.setColor("#B35A33")
.setTitle("Menu de comandos do Bot Lampião")
.setAuthor({
name: "João Manoel",
iconURL: null,
url: "/~https://github.com/JoaoManoelFontes",
})
.setDescription("todos os comandos do bot aqui")
.addFields(
{ name: "prefix: ", value: "!", inline: true },
{ name: "made in: ", value: "2020", inline: true },
{ name: "version: ", value: "1.5.0", inline: true }
)
.addFields(
{
name: "google",
value:
"Retorna os resultados de qualquer pesquisa no google. Assim como informações do google sobre a pesquisa (ex: idade, altura, etc)",
},
{
name: "src",
value:
"O bot retorna o primeiro resultado da sua pesquisa de acordo com o search do Yahoo.",
},
{
name: "watch",
value:
"O bot retorna o primeiro resultado da sua pesquisa no Yahoo Videos, que geralmente é um vídeo do YouTube, por isso a mensagem personalizada",
},
{
name: "github",
value:
"O bot retorna informações sobre o usuário do github pesquisado, além dos principais repositórios (pinned repos).",
}
)
.setTimestamp();
message.channel.send({ embeds: [commandEmbed] });
}
});
client.login(process.env.BOT_TOKEN);