oops wrong file commit
This commit is contained in:
parent
2cdb671fb1
commit
c88e4a67b2
1 changed files with 0 additions and 184 deletions
|
@ -1,184 +0,0 @@
|
|||
import {
|
||||
CommandClient,
|
||||
Command,
|
||||
CommandContext,
|
||||
ButtonStyle,
|
||||
MessageComponentType,
|
||||
isMessageComponentInteraction,
|
||||
MessageComponentInteraction,
|
||||
Message
|
||||
} from '../mod.ts'
|
||||
import { TOKEN } from './config.ts'
|
||||
|
||||
const client = new CommandClient({
|
||||
prefix: '.',
|
||||
spacesAfterPrefix: true
|
||||
})
|
||||
|
||||
enum Choice {
|
||||
Rock,
|
||||
Paper,
|
||||
Scissor
|
||||
}
|
||||
|
||||
const games = new Map<
|
||||
string,
|
||||
{ user: number; bot: number; msg: Message; txt: string }
|
||||
>()
|
||||
const components = [
|
||||
{
|
||||
type: MessageComponentType.ActionRow,
|
||||
components: [
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
style: ButtonStyle.Primary,
|
||||
label: 'Rock',
|
||||
customID: 'rps::Rock'
|
||||
},
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
style: ButtonStyle.Primary,
|
||||
label: 'Paper',
|
||||
customID: 'rps::Paper'
|
||||
},
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
style: ButtonStyle.Primary,
|
||||
label: 'Scissor',
|
||||
customID: 'rps::Scissor'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
client.once('ready', () => {
|
||||
console.log('Ready!')
|
||||
})
|
||||
|
||||
client.commands.add(
|
||||
class extends Command {
|
||||
name = 'button'
|
||||
|
||||
execute(ctx: CommandContext): void {
|
||||
ctx.channel.send('Test Buttons', {
|
||||
components: [
|
||||
{
|
||||
type: MessageComponentType.ActionRow,
|
||||
components: [
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
label: 'Primary',
|
||||
style: ButtonStyle.Primary,
|
||||
customID: '1'
|
||||
},
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
label: 'Secondary',
|
||||
style: ButtonStyle.Secondary,
|
||||
customID: '2'
|
||||
},
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
label: 'Destructive',
|
||||
style: ButtonStyle.Destructive,
|
||||
customID: '3'
|
||||
},
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
label: 'Success',
|
||||
style: ButtonStyle.Success,
|
||||
customID: '4'
|
||||
},
|
||||
{
|
||||
type: MessageComponentType.Button,
|
||||
label: 'Link',
|
||||
style: ButtonStyle.Link,
|
||||
url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
client.commands.add(
|
||||
class extends Command {
|
||||
name = 'play'
|
||||
|
||||
execute(ctx: CommandContext): any {
|
||||
if (games.has(ctx.author.id))
|
||||
return ctx.message.reply('You are already playing!')
|
||||
ctx.channel
|
||||
.send('Game starts now!', {
|
||||
components
|
||||
})
|
||||
.then((msg) => {
|
||||
games.set(ctx.author.id, {
|
||||
user: 0,
|
||||
bot: 0,
|
||||
msg,
|
||||
txt: 'Game starts now!'
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
// client.on('raw', (e, d) => {
|
||||
// if (e === 'INTERACTION_CREATE') console.log(e, d)
|
||||
// })
|
||||
|
||||
client.on('interactionCreate', (i) => {
|
||||
if (isMessageComponentInteraction(i) === true) {
|
||||
const d = i as MessageComponentInteraction
|
||||
|
||||
if (d.customID.startsWith('rps::') === true) {
|
||||
const game = games.get(d.user.id)
|
||||
if (game === undefined) return
|
||||
const choice = d.customID.split('::')[1]
|
||||
const c: number = Number(Choice[choice as any])
|
||||
const rand = Math.floor(Math.random() * 2)
|
||||
|
||||
game.txt += '\n\n'
|
||||
game.txt += `You: ${choice}, Bot: ${Choice[rand]}`
|
||||
let msg
|
||||
if (rand === c) {
|
||||
msg = 'Both chose ' + Choice[rand] + '!'
|
||||
} else if (
|
||||
(rand === 0 && c === 2) ||
|
||||
(rand === 1 && c === 0) ||
|
||||
(rand === 2 && c === 1)
|
||||
) {
|
||||
msg = 'Bot got one point!'
|
||||
game.bot++
|
||||
} else {
|
||||
msg = 'You got one point!'
|
||||
game.user++
|
||||
}
|
||||
game.txt += '\nInfo: ' + msg
|
||||
|
||||
if (game.bot === 5 || game.user === 5) {
|
||||
const won = game.bot === 5 ? 'Bot' : 'You'
|
||||
game.msg.edit(
|
||||
`${won} won!\n\n**Points:** You: ${game.user} | Bot: ${game.bot}`,
|
||||
{
|
||||
components: []
|
||||
}
|
||||
)
|
||||
games.delete(d.user.id)
|
||||
} else {
|
||||
game.msg.edit(
|
||||
`${game.txt}\n\n**Points:** You: ${game.user} | Bot: ${game.bot}`,
|
||||
{
|
||||
components
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
console.log('Connecting...')
|
||||
client.connect(TOKEN, ['GUILDS', 'GUILD_MESSAGES', 'DIRECT_MESSAGES'])
|
Loading…
Reference in a new issue