summaryrefslogtreecommitdiff
path: root/src/commands/roleplay
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-29 04:36:14 -0700
committer8cy <[email protected]>2020-04-29 04:36:14 -0700
commit68d32ab1fa9c79e848038ca1c451e7d8f368531b (patch)
tree6142669ecc054e8a94bad4723dc6fb5c83f8cee1 /src/commands/roleplay
parentThe Return, v8.2.0 (diff)
downloaddep-core-68d32ab1fa9c79e848038ca1c451e7d8f368531b.tar.xz
dep-core-68d32ab1fa9c79e848038ca1c451e7d8f368531b.zip
Cerasus, v9.0.0
basically just add an insane amount of things - all new animal commands - waifu cmds - change/ move clientid, invite, uwufy, support, howify, say, pfp - add ip, security key, vote, datefacts, githubzen, fmk, fml, offsptring, facts, rate, opinion, onion, quantum coin, rolldie, romannumerals, russianrullete, smashorpass, spoiler, sub - minecraft cmds - SERVER check cmds - lewd cmds - roleplay commands - fun commands and games - utils
Diffstat (limited to 'src/commands/roleplay')
-rw-r--r--src/commands/roleplay/blush.ts30
-rw-r--r--src/commands/roleplay/celebrate.ts23
-rw-r--r--src/commands/roleplay/eat.ts23
-rw-r--r--src/commands/roleplay/fistbump.ts31
-rw-r--r--src/commands/roleplay/highfive.ts31
-rw-r--r--src/commands/roleplay/holdhands.ts31
-rw-r--r--src/commands/roleplay/hug.ts30
-rw-r--r--src/commands/roleplay/inhale.ts30
-rw-r--r--src/commands/roleplay/kill.ts30
-rw-r--r--src/commands/roleplay/kiss.ts30
-rw-r--r--src/commands/roleplay/pat.ts30
-rw-r--r--src/commands/roleplay/poke.ts30
-rw-r--r--src/commands/roleplay/punch.ts30
-rw-r--r--src/commands/roleplay/slap.ts30
-rw-r--r--src/commands/roleplay/sleep.ts23
-rw-r--r--src/commands/roleplay/wakeup.ts24
-rw-r--r--src/commands/roleplay/wave.ts30
-rw-r--r--src/commands/roleplay/wink.ts30
18 files changed, 516 insertions, 0 deletions
diff --git a/src/commands/roleplay/blush.ts b/src/commands/roleplay/blush.ts
new file mode 100644
index 0000000..bbf0107
--- /dev/null
+++ b/src/commands/roleplay/blush.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class BlushRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'blush',
+ group: 'roleplay',
+ memberName: 'blush',
+ description: 'Blush at a specified user.',
+ examples: ['uwu!blush @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to blush at?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** blushes at **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/celebrate.ts b/src/commands/roleplay/celebrate.ts
new file mode 100644
index 0000000..6924b39
--- /dev/null
+++ b/src/commands/roleplay/celebrate.ts
@@ -0,0 +1,23 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class CelebrateRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'celebrate',
+ group: 'roleplay',
+ memberName: 'celebrate',
+ description: 'Celebrate.',
+ examples: ['uwu!celebrate'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ }
+ });
+ }
+ run(msg: CommandoMessage) {
+ msg.say(`_**${msg.author.username}** celebrates._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/eat.ts b/src/commands/roleplay/eat.ts
new file mode 100644
index 0000000..ba2c364
--- /dev/null
+++ b/src/commands/roleplay/eat.ts
@@ -0,0 +1,23 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class EatRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'eat',
+ group: 'roleplay',
+ memberName: 'eat',
+ description: 'Eat.',
+ examples: ['uwu!eat'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ }
+ });
+ }
+ run(msg: CommandoMessage) {
+ msg.say(`_**${msg.author.username}** eats._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/fistbump.ts b/src/commands/roleplay/fistbump.ts
new file mode 100644
index 0000000..1a2f6db
--- /dev/null
+++ b/src/commands/roleplay/fistbump.ts
@@ -0,0 +1,31 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class FistBumpRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'fistbump',
+ aliases: ['fist-bump'],
+ group: 'roleplay',
+ memberName: 'fistbump',
+ description: 'Fist-bump with a specified user.',
+ examples: ['uwu!fistbump @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to fist-bump?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** fist-bumps **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/highfive.ts b/src/commands/roleplay/highfive.ts
new file mode 100644
index 0000000..bb9435d
--- /dev/null
+++ b/src/commands/roleplay/highfive.ts
@@ -0,0 +1,31 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class HighFiveRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'highfive',
+ aliases: ['high-five'],
+ group: 'roleplay',
+ memberName: 'highfive',
+ description: 'High-fave with a specified user.',
+ examples: ['uwu!highfive @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to high-five?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** high-fives **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/holdhands.ts b/src/commands/roleplay/holdhands.ts
new file mode 100644
index 0000000..acfa78e
--- /dev/null
+++ b/src/commands/roleplay/holdhands.ts
@@ -0,0 +1,31 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class HoldHandsRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'holdhands',
+ aliases: ['hold-hands', 'holdhand', 'hold-hand'],
+ group: 'roleplay',
+ memberName: 'holdhands',
+ description: 'Hold hands with a specified user.',
+ examples: ['uwu!holdhands @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to hold hands with?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** holds **${uUser.username}** hand._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/hug.ts b/src/commands/roleplay/hug.ts
new file mode 100644
index 0000000..06e267b
--- /dev/null
+++ b/src/commands/roleplay/hug.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class HugRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'hug',
+ group: 'roleplay',
+ memberName: 'hug',
+ description: 'Hug hands with a specified user.',
+ examples: ['uwu!hug @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to hug?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** hugs **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/inhale.ts b/src/commands/roleplay/inhale.ts
new file mode 100644
index 0000000..4765a86
--- /dev/null
+++ b/src/commands/roleplay/inhale.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class InhaleRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'inhale',
+ group: 'roleplay',
+ memberName: 'inhale',
+ description: 'Inhale a specified user.',
+ examples: ['uwu!inhale @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to inhale?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** inhales **${uUser.username}** but gained no abilities._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/kill.ts b/src/commands/roleplay/kill.ts
new file mode 100644
index 0000000..5756ad0
--- /dev/null
+++ b/src/commands/roleplay/kill.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class KillRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'kill',
+ group: 'roleplay',
+ memberName: 'kill',
+ description: 'Kill a specified user.',
+ examples: ['uwu!kill @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to kill?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** kills **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/kiss.ts b/src/commands/roleplay/kiss.ts
new file mode 100644
index 0000000..7b455c7
--- /dev/null
+++ b/src/commands/roleplay/kiss.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class KissRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'kiss',
+ group: 'roleplay',
+ memberName: 'kiss',
+ description: 'Kiss a specified user.',
+ examples: ['uwu!kiss @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to kiss?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** kisses **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/pat.ts b/src/commands/roleplay/pat.ts
new file mode 100644
index 0000000..70649a4
--- /dev/null
+++ b/src/commands/roleplay/pat.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class PatRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'pat',
+ group: 'roleplay',
+ memberName: 'pat',
+ description: 'Pat a specified user.',
+ examples: ['uwu!pat @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to pat?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** pat **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/poke.ts b/src/commands/roleplay/poke.ts
new file mode 100644
index 0000000..6d8525d
--- /dev/null
+++ b/src/commands/roleplay/poke.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class PokeRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'poke',
+ group: 'roleplay',
+ memberName: 'poke',
+ description: 'Poke a specified user.',
+ examples: ['uwu!poke @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to poke?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** pokes **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/punch.ts b/src/commands/roleplay/punch.ts
new file mode 100644
index 0000000..980bcff
--- /dev/null
+++ b/src/commands/roleplay/punch.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class PunchRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'punch',
+ group: 'roleplay',
+ memberName: 'punch',
+ description: 'Punch a specified user.',
+ examples: ['uwu!punch @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to punch?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** punches **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/slap.ts b/src/commands/roleplay/slap.ts
new file mode 100644
index 0000000..f007cb7
--- /dev/null
+++ b/src/commands/roleplay/slap.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class SlapRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'slap',
+ group: 'roleplay',
+ memberName: 'slap',
+ description: 'Slap a specified user.',
+ examples: ['uwu!slap @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to slap?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** slaps **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/sleep.ts b/src/commands/roleplay/sleep.ts
new file mode 100644
index 0000000..0d8beb2
--- /dev/null
+++ b/src/commands/roleplay/sleep.ts
@@ -0,0 +1,23 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class SleepRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'sleep',
+ group: 'roleplay',
+ memberName: 'sleep',
+ description: 'Sleep.',
+ examples: ['uwu!sleep'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ }
+ });
+ }
+ run(msg: CommandoMessage) {
+ msg.say(`_**${msg.author.username}** falls asleep._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/wakeup.ts b/src/commands/roleplay/wakeup.ts
new file mode 100644
index 0000000..d8418a7
--- /dev/null
+++ b/src/commands/roleplay/wakeup.ts
@@ -0,0 +1,24 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class WakeUpRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'wakeup',
+ aliases: ['wake-up'],
+ group: 'roleplay',
+ memberName: 'wakeup',
+ description: 'Wake up.',
+ examples: ['uwu!wakeup'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ }
+ });
+ }
+ run(msg: CommandoMessage) {
+ msg.say(`_**${msg.author.username}** wakes up._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/wave.ts b/src/commands/roleplay/wave.ts
new file mode 100644
index 0000000..32b9f6e
--- /dev/null
+++ b/src/commands/roleplay/wave.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class WaveRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'wave',
+ group: 'roleplay',
+ memberName: 'wave',
+ description: 'Wave a specified user.',
+ examples: ['uwu!wave @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to wave at?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** waves at **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file
diff --git a/src/commands/roleplay/wink.ts b/src/commands/roleplay/wink.ts
new file mode 100644
index 0000000..a3360ee
--- /dev/null
+++ b/src/commands/roleplay/wink.ts
@@ -0,0 +1,30 @@
+import { Command, CommandoMessage } from 'discord.js-commando';
+import emoji from 'emoji-random';
+
+module.exports = class WinkRoleplay extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'wink',
+ group: 'roleplay',
+ memberName: 'wink',
+ description: 'Wink a specified user.',
+ examples: ['uwu!wink @sin#1337'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ args: [
+ {
+ key: 'uUser',
+ prompt: 'Which user would you like to wink at?',
+ type: 'user'
+ }
+ ]
+ });
+ }
+ run(msg: CommandoMessage, { uUser }) {
+ msg.say(`_**${msg.author.username}** winks at **${uUser.username}**._` + ' ' + emoji.random())
+ }
+}; \ No newline at end of file