Skip to content

Commit ac1d399

Browse files
committed
Autocomplate 1.8.5
1 parent 5051c1a commit ac1d399

File tree

6 files changed

+125
-50
lines changed

6 files changed

+125
-50
lines changed

index.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ globalThis.Underline = {
2626
UserAction: require("./types/UserAction"),
2727
}
2828

29-
console.info("[BİLGİ] Basit Altyapı v1.8.4 - by Kıraç Armağan Önal");
29+
console.info("[BİLGİ] Basit Altyapı v1.8.5 - by Kıraç Armağan Önal");
3030
(async () => {
3131
let interactionsPath = path.resolve("./interactions");
3232
await makeSureFolderExists(interactionsPath);
@@ -141,9 +141,7 @@ console.info("[BİLGİ] Basit Altyapı v1.8.4 - by Kıraç Armağan Önal");
141141
console.warn(`[UYARI] Hiçbir olay yüklenmedi, herşey yolunda mı?`);
142142
}
143143

144-
client.on("interactionCreate", async (interaction) => {
145-
if (!(interaction.isCommand() || interaction.isContextMenu())) return;
146-
144+
client.on("interactionCreate", async (interaction) => {
147145
let subCommandName = "";
148146
try {subCommandName = interaction.options.getSubcommand();} catch { };
149147
let subCommandGroupName = "";
@@ -159,6 +157,20 @@ console.info("[BİLGİ] Basit Altyapı v1.8.4 - by Kıraç Armağan Önal");
159157

160158
if (!uInter) return;
161159

160+
if (interaction.isAutocomplete()) {
161+
/** @type {Discord.ApplicationCommandOptionChoice} */
162+
let focussed = null;
163+
try { focussed = interaction.options.getFocused(true) } catch { };
164+
let option = uInter.options.find(i => i.autocomplete && i.name == focussed?.name);
165+
if (option) {
166+
let completeResponse = await option.onComplete(interaction, focussed.value);
167+
interaction.respond(completeResponse);
168+
}
169+
return;
170+
}
171+
172+
if (!(interaction.isCommand() || interaction.isContextMenu())) return;
173+
162174
let other = {};
163175

164176
let shouldRun1 = await config.onInteractionBeforeChecks(uInter, interaction, other);

interactions/autocomplateBan.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
module.exports = new Underline.SlashCommand({
2+
description: "Banlı bir kullanıcının banını açmanızı sağlar.",
3+
name: ["unban"],
4+
async onInteraction(inter, other) {
5+
let targetId = inter.options.getString("id", false)
6+
await inter.guild.bans.fetch({ cache: false });
7+
if (!inter.guild.bans.cache.has(targetId)) return inter.reply("Yasağını açacak kişiyi bulamadım!");
8+
await inter.deferReply();
9+
let user = inter.guild.bans.cache.get(targetId).user;
10+
await inter.guild.bans.remove(targetId);
11+
inter.editReply(`**${user.tag} (${user.id})** adlı kullanıcının yasağı açıldı!`);
12+
},
13+
options: [
14+
{
15+
name: "id",
16+
type: "STRING",
17+
description: "...",
18+
autocomplete: true,
19+
async onComplete(inter, value) {
20+
await inter.guild.bans.fetch({ cache: false });
21+
return [...inter.guild.bans.cache.values()].map(i => ({ name: i.user.tag, value: i.user.id }));
22+
},
23+
required: true
24+
}
25+
],
26+
guildOnly: true,
27+
coolDown: 2000,
28+
perms: {
29+
bot: ["BAN_MEMBERS"],
30+
user: ["BAN_MEMBERS"]
31+
}
32+
});

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"chalk": "^4.1.1",
55
"chillout": "^5.0.0",
66
"discord-api-types": "^0.23.1",
7-
"discord.js": "13.2.0",
7+
"discord.js": "^13.3.0",
88
"enquirer": "^2.3.6",
99
"plsargs": "^0.1.6",
1010
"recursive-readdir": "^2.2.2",
@@ -16,7 +16,7 @@
1616
"@types/recursive-readdir": "^2.2.0"
1717
},
1818
"name": "armagan-basit-altyapi",
19-
"version": "1.8.4",
19+
"version": "1.8.5",
2020
"description": "Kullanımı basit ancak bir yandanda içinde birçek özellik barındıran discord bot altyapısı.",
2121
"main": "index.js",
2222
"repository": {

readme.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
# Basit Altyapı (Versiyon 1.8.4) (v13.x)
1+
# Basit Altyapı (Versiyon 1.8.5) (v13.x)
22

33
Kullanımı basit ancak bir yandanda içinde birçek özellik barındıran discord bot altyapısı. Sık sık güncelleme alıyor. (Slash Commands)
44

55
## Özellikler
66

7+
-**Autocomplate(otomatik tamamlama) desteği.**
78
-**Sağtık menü desteği.**
89
-**Slash command desteği.**
910
-**Slash subcommand desteği.**

types/Interaction.d.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,24 @@
11
import {
2+
ApplicationCommandChannelOptionData,
3+
ApplicationCommandChoicesData,
4+
ApplicationCommandNonOptionsData,
5+
ApplicationCommandOptionChoice,
26
ApplicationCommandOptionData,
37
ApplicationCommandType,
8+
AutocompleteInteraction,
9+
CacheType,
410
Client,
511
CommandInteraction,
612
ContextMenuInteraction,
713
PermissionString
814
} from "discord.js";
915

16+
export type CustomApplicationCommandOptionData = (
17+
ApplicationCommandNonOptionsData
18+
| ApplicationCommandChannelOptionData
19+
| ApplicationCommandChoicesData
20+
) & { onComplete(interaction: AutocompleteInteraction, value: string|number): Promise<ApplicationCommandOptionChoice[]> }
21+
1022
export class BaseInteraction {
1123
private _type: string;
1224
name: string[];
@@ -21,7 +33,7 @@ export class BaseInteraction {
2133
other?: { [key: string | number]: any };
2234
coolDown?: number;
2335
guildOnly?: boolean;
24-
options?: ApplicationCommandOptionData[];
36+
options?: CustomApplicationCommandOptionData[];
2537
defaultPermission?: boolean;
2638
actionType?: ApplicationCommandType;
2739
constructor(arg: TInteractionConstructor)

yarn.lock

Lines changed: 60 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
# yarn lockfile v1
33

44

5-
"@discordjs/builders@^0.6.0":
6-
version "0.6.0"
7-
resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-0.6.0.tgz#4724d18990a97d84d0250eba5b50991b71a450a5"
8-
integrity sha512-mH3Gx61LKk2CD05laCI9K5wp+a3NyASHDUGx83DGJFkqJlRlSV5WMJNY6RS37A5SjqDtGMF4wVR9jzFaqShe6Q==
5+
"@discordjs/builders@^0.8.1":
6+
version "0.8.1"
7+
resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-0.8.1.tgz#4fa610bf9bc40b60d6c7e27ba97a8f07e2d2ff2a"
8+
integrity sha512-kYJMvZ/BjRD1/6G2t1pQop2yoJNUmYvvKeG4mOBUCHFmfb7WIeBFmN/eSiP3cVSfRx3lbNiyxkdd5JzhjQnGbg==
99
dependencies:
10-
"@sindresorhus/is" "^4.0.1"
11-
discord-api-types "^0.22.0"
12-
ow "^0.27.0"
10+
"@sindresorhus/is" "^4.2.0"
11+
discord-api-types "^0.24.0"
12+
ow "^0.28.1"
1313
ts-mixer "^6.0.0"
1414
tslib "^2.3.1"
1515

@@ -18,10 +18,10 @@
1818
resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.1.6.tgz#9e9a7637f4e4e0688fd8b2b5c63133c91607682c"
1919
integrity sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==
2020

21-
"@discordjs/collection@^0.2.1":
22-
version "0.2.1"
23-
resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.2.1.tgz#ea4bc7b41b7b7b6daa82e439141222ec95c469b2"
24-
integrity sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==
21+
"@discordjs/collection@^0.3.2":
22+
version "0.3.2"
23+
resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.3.2.tgz#3c271dd8a93dad89b186d330e24dbceaab58424a"
24+
integrity sha512-dMjLl60b2DMqObbH1MQZKePgWhsNe49XkKBZ0W5Acl5uVV43SN414i2QfZwRI7dXAqIn8pEWD2+XXQFn9KWxqg==
2525

2626
"@discordjs/form-data@^3.0.1":
2727
version "3.0.1"
@@ -51,20 +51,20 @@
5151
resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.1.4.tgz#ae431310917a8880961cebe8e59df6ffa40f2957"
5252
integrity sha512-fFrlF/uWpGOX5djw5Mu2Hnnrunao75WGey0sP0J3jnhmrJ5TAPzHYOmytD5iN/+pMxS+f+u/gezqHa9tPhRHEA==
5353

54-
"@sapphire/async-queue@^1.1.5":
55-
version "1.1.5"
56-
resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.1.5.tgz#2a52774ad9c24b1e9be88f4a211e735419014e4e"
57-
integrity sha512-NQ8GeTBeOkeAylVYTnO9zfEZO74iMNGCRrR3uIRnCrhkyPC+nsewyQtTamjSDWxXFTf+xGSJ9khiY2p56k/bMA==
54+
"@sapphire/async-queue@^1.1.8":
55+
version "1.1.8"
56+
resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.1.8.tgz#dac698654a17fb0e202fa3ff0c2c176bbdc08935"
57+
integrity sha512-Oi4EEi8vOne8RM1tCdQ3kYAtl/J6ztak3Th6wwGFqA2SVNJtedw196LjsLX0bK8Li8cwaljbFf08N+0zeqhkWQ==
5858

5959
"@sapphire/snowflake@^1.3.5":
6060
version "1.3.6"
6161
resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-1.3.6.tgz#166e8c5c08d01c861edd7e2edc80b5739741715f"
6262
integrity sha512-QnzuLp+p9D7agynVub/zqlDVriDza9y3STArBhNiNBUgIX8+GL5FpQxstRfw1jDr5jkZUjcuKYAHxjIuXKdJAg==
6363

64-
"@sindresorhus/is@^4.0.1":
65-
version "4.0.1"
66-
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5"
67-
integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==
64+
"@sindresorhus/is@^4.2.0":
65+
version "4.2.0"
66+
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca"
67+
integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==
6868

6969
"@types/chalk@^2.2.0":
7070
version "2.2.0"
@@ -73,6 +73,14 @@
7373
dependencies:
7474
chalk "*"
7575

76+
"@types/node-fetch@^2.5.12":
77+
version "2.5.12"
78+
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.12.tgz#8a6f779b1d4e60b7a57fb6fd48d84fb545b9cc66"
79+
integrity sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==
80+
dependencies:
81+
"@types/node" "*"
82+
form-data "^3.0.0"
83+
7684
"@types/node@*":
7785
version "16.4.10"
7886
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.10.tgz#e57e2a54fc6da58da94b3571b1cb456d39f88597"
@@ -194,27 +202,28 @@ discord-api-types@^0.18.1:
194202
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.18.1.tgz#5d08ed1263236be9c21a22065d0e6b51f790f492"
195203
integrity sha512-hNC38R9ZF4uaujaZQtQfm5CdQO58uhdkoHQAVvMfIL0LgOSZeW575W8H6upngQOuoxWd8tiRII3LLJm9zuQKYg==
196204

197-
discord-api-types@^0.22.0:
198-
version "0.22.0"
199-
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.22.0.tgz#34dc57fe8e016e5eaac5e393646cd42a7e1ccc2a"
200-
integrity sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==
201-
202205
discord-api-types@^0.23.1:
203206
version "0.23.1"
204207
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.23.1.tgz#832d0ee2b3c8e2eae02947c1dbf38121d6d357d5"
205208
integrity sha512-igWmn+45mzXRWNEPU25I/pr8MwxHb767wAr51oy3VRLRcTlp5ADBbrBR0lq3SA1Rfw3MtM4TQu1xo3kxscfVdQ==
206209

207-
208-
version "13.2.0"
209-
resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-13.2.0.tgz#db2e7f643bbc661d1c63b3ebad0ccc6572c0065b"
210-
integrity sha512-nyxUvL8wuQG38zx13wUMkpcA8koFszyiXdkSLwwM9opKW2LC2H5gD0cTZxImeJ6GtEnKPWT8xBiE8lLBmbNIhw==
210+
discord-api-types@^0.24.0:
211+
version "0.24.0"
212+
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.24.0.tgz#9e429b8a1ddb4147134dfb3109093422de7ec549"
213+
integrity sha512-X0uA2a92cRjowUEXpLZIHWl4jiX1NsUpDhcEOpa1/hpO1vkaokgZ8kkPtPih9hHth5UVQ3mHBu/PpB4qjyfJ4A==
214+
215+
discord.js@^13.3.0:
216+
version "13.3.0"
217+
resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-13.3.0.tgz#684198e19b9dabc9cd5f6cfc4864f73e6d380cc4"
218+
integrity sha512-kZcDVrQRTuzjRx99/Xl9HF1Kt7xNkiN4Gwvk1hNmLRAn+7Syzw9XTkQZdOPXLpijhbTNsZcdAaMxgvTmtyNdyA==
211219
dependencies:
212-
"@discordjs/builders" "^0.6.0"
213-
"@discordjs/collection" "^0.2.1"
220+
"@discordjs/builders" "^0.8.1"
221+
"@discordjs/collection" "^0.3.2"
214222
"@discordjs/form-data" "^3.0.1"
215-
"@sapphire/async-queue" "^1.1.5"
223+
"@sapphire/async-queue" "^1.1.8"
224+
"@types/node-fetch" "^2.5.12"
216225
"@types/ws" "^8.2.0"
217-
discord-api-types "^0.23.1"
226+
discord-api-types "^0.24.0"
218227
node-fetch "^2.6.1"
219228
ws "^8.2.3"
220229

@@ -237,6 +246,15 @@ event-target-shim@^5.0.0:
237246
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
238247
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
239248

249+
form-data@^3.0.0:
250+
version "3.0.1"
251+
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
252+
integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
253+
dependencies:
254+
asynckit "^0.4.0"
255+
combined-stream "^1.0.8"
256+
mime-types "^2.1.12"
257+
240258
form-data@^4.0.0:
241259
version "4.0.0"
242260
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
@@ -300,16 +318,16 @@ node-fetch@^2.6.1:
300318
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
301319
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
302320

303-
ow@^0.27.0:
304-
version "0.27.0"
305-
resolved "https://registry.yarnpkg.com/ow/-/ow-0.27.0.tgz#d44da088e8184fa11de64b5813206f9f86ab68d0"
306-
integrity sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==
321+
ow@^0.28.1:
322+
version "0.28.1"
323+
resolved "https://registry.yarnpkg.com/ow/-/ow-0.28.1.tgz#e7cf19a0994a4ace78f38976f11f2a080f51a570"
324+
integrity sha512-1EZTywPZeUKac9gD7q8np3Aj+V54kvfIcjNEVNDSbG2Ys5xA5foW2HquvMMqgyWGLqIFMlc0Iq/HmyMHqN48sA==
307325
dependencies:
308-
"@sindresorhus/is" "^4.0.1"
326+
"@sindresorhus/is" "^4.2.0"
309327
callsites "^3.1.0"
310328
dot-prop "^6.0.1"
311329
lodash.isequal "^4.5.0"
312-
type-fest "^1.2.1"
330+
type-fest "^2.3.4"
313331
vali-date "^1.0.0"
314332

315333
pascal-case@^3.1.2:
@@ -364,10 +382,10 @@ tslib@^2.3.1:
364382
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
365383
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
366384

367-
type-fest@^1.2.1:
368-
version "1.3.0"
369-
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.3.0.tgz#6be848243853df1173fa95530112e1358ab0810b"
370-
integrity sha512-mYUYkAy6fPatVWtUeCV/qGeGL3IVucmdJOzeAEfwgCJDx8gP0JaW8jn6KQ5xDfPec31e0KXWn5EUOZMhquR1zA==
385+
type-fest@^2.3.4:
386+
version "2.5.2"
387+
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.5.2.tgz#d6a5247b8019716b300d9023fa7b1b02016dd864"
388+
integrity sha512-WMbytmAs5PUTqwGJRE+WoRrD2S0bYFtHX8k4Y/1l18CG5kqA3keJud9pPQ/r30FE9n8XRFCXF9BbccHIZzRYJw==
371389

372390
vali-date@^1.0.0:
373391
version "1.0.0"

0 commit comments

Comments
 (0)