mirror of
https://github.com/cassoule/flopobot_v2.git
synced 2026-01-18 16:37:40 +01:00
rooms create/join
This commit is contained in:
8
.idea/laravel-idea.xml
generated
Normal file
8
.idea/laravel-idea.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="InertiaPackage">
|
||||
<option name="directoryPaths">
|
||||
<list />
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
15
.idea/php.xml
generated
15
.idea/php.xml
generated
@@ -10,9 +10,24 @@
|
||||
<option name="highlightLevel" value="WARNING" />
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PhpCodeSniffer">
|
||||
<phpcs_settings>
|
||||
<phpcs_by_interpreter asDefaultInterpreter="true" interpreter_id="ceb1e1c5-a5b2-49ae-acba-ec4afdb2ab09" timeout="30000" />
|
||||
</phpcs_settings>
|
||||
</component>
|
||||
<component name="PhpStan">
|
||||
<PhpStan_settings>
|
||||
<phpstan_by_interpreter asDefaultInterpreter="true" interpreter_id="ceb1e1c5-a5b2-49ae-acba-ec4afdb2ab09" timeout="60000" />
|
||||
</PhpStan_settings>
|
||||
</component>
|
||||
<component name="PhpStanOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="Psalm">
|
||||
<Psalm_settings>
|
||||
<psalm_fixer_by_interpreter asDefaultInterpreter="true" interpreter_id="ceb1e1c5-a5b2-49ae-acba-ec4afdb2ab09" timeout="60000" />
|
||||
</Psalm_settings>
|
||||
</component>
|
||||
<component name="PsalmOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
|
||||
76
index.js
76
index.js
@@ -530,7 +530,8 @@ client.on('messageCreate', async (message) => {
|
||||
console.log(activePolls)
|
||||
}
|
||||
else if (message.author.id === process.env.DEV_ID) {
|
||||
if (message.content === 'flopo:add-coins-to-users') {
|
||||
const prefix = process.env.DEV_SITE === 'true' ? 'test' : 'flopo'
|
||||
if (message.content === prefix + ':add-coins-to-users') {
|
||||
console.log(message.author.id)
|
||||
try {
|
||||
const stmtUpdateUsers = flopoDB.prepare(`
|
||||
@@ -542,15 +543,15 @@ client.on('messageCreate', async (message) => {
|
||||
console.log(e)
|
||||
}
|
||||
}
|
||||
else if (message.content === 'flopo:users') {
|
||||
else if (message.content === prefix + ':users') {
|
||||
const allAkhys = getAllUsers.all()
|
||||
console.log(allAkhys)
|
||||
}
|
||||
else if (message.content === 'flopo:cancel') {
|
||||
else if (message.content === prefix + ':cancel') {
|
||||
await message.delete()
|
||||
}
|
||||
else if (message.content.startsWith('flopo:reset-user-coins')) {
|
||||
const userId = message.content.replace('flopo:reset-user-coins ', '')
|
||||
else if (message.content.startsWith(prefix + ':reset-user-coins')) {
|
||||
const userId = message.content.replace(prefix + ':reset-user-coins ', '')
|
||||
const authorDB = getUser.get(userId)
|
||||
if (authorDB) {
|
||||
updateUserCoins.run({
|
||||
@@ -562,8 +563,8 @@ client.on('messageCreate', async (message) => {
|
||||
console.log('invalid user')
|
||||
}
|
||||
}
|
||||
else if (message.content.startsWith('flopo:send-message')) {
|
||||
const msg = message.content.replace('flopo:send-message ', '')
|
||||
else if (message.content.startsWith(prefix + ':send-message')) {
|
||||
const msg = message.content.replace(prefix + ':send-message ', '')
|
||||
await fetch(process.env.BASE_URL + '/send-message', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
@@ -575,8 +576,8 @@ client.on('messageCreate', async (message) => {
|
||||
})
|
||||
});
|
||||
}
|
||||
else if (message.content.startsWith('flopo:sql')) {
|
||||
let sqlCommand = message.content.replace('flopo:sql ', '')
|
||||
else if (message.content.startsWith(prefix + ':sql')) {
|
||||
let sqlCommand = message.content.replace(prefix + ':sql ', '')
|
||||
console.log(sqlCommand)
|
||||
try {
|
||||
if (sqlCommand.startsWith('SELECT')) {
|
||||
@@ -590,8 +591,8 @@ client.on('messageCreate', async (message) => {
|
||||
console.log(e)
|
||||
}
|
||||
}
|
||||
else if (message.content.startsWith('flopo:poker')) {
|
||||
pokerTest()
|
||||
else if (message.content.startsWith(prefix + ':poker')) {
|
||||
io.emit('message', message.content);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3426,17 +3427,50 @@ app.post('/buy-coins', (req, res) => {
|
||||
});
|
||||
|
||||
const pokerRooms = {}
|
||||
app.post('/create-poker-room', (req, res) => {
|
||||
console.log('creating poker room')
|
||||
app.post('/create-poker-room', async (req, res) => {
|
||||
const { creatorId } = req.body
|
||||
const id = uuidv4()
|
||||
const name = uniqueNamesGenerator({ dictionaries: [adjectives, languages, animals], separator: ' ', style: 'capital' });
|
||||
const t12names = [
|
||||
'cassoule',
|
||||
'passoule',
|
||||
'kiwiko',
|
||||
'piwiko',
|
||||
'wata',
|
||||
'pata',
|
||||
'apologize',
|
||||
'apologay',
|
||||
'daspoon',
|
||||
'esteban',
|
||||
'edorima',
|
||||
'momozhok',
|
||||
'popozhok',
|
||||
'dodozhok',
|
||||
'flopozhok',
|
||||
'thomas',
|
||||
'poma'
|
||||
]
|
||||
const name = uniqueNamesGenerator({ dictionaries: [adjectives, t12names], separator: ' ', style: 'capital' });
|
||||
|
||||
const creator = await client.users.fetch(creatorId)
|
||||
|
||||
if (!creator) {
|
||||
return res.status(404).send({message: 'Utilisateur introuvable'})
|
||||
}
|
||||
if (Object.values(pokerRooms).find(room => room.host_id === creatorId)) {
|
||||
return res.status(403).send({message: 'Tu ne peux créer qu\'une seule table à la fois'})
|
||||
}
|
||||
|
||||
pokerRooms[id] = {
|
||||
id: id,
|
||||
host_id: creatorId,
|
||||
host_name: creator.username,
|
||||
name: name,
|
||||
created_at: Date.now(),
|
||||
last_move_at: Date.now(),
|
||||
players: {}
|
||||
}
|
||||
io.emit('new-poker-room')
|
||||
return res.status(200).send({ roomId: id })
|
||||
});
|
||||
|
||||
app.get('/poker-rooms', (req, res) => {
|
||||
@@ -3447,6 +3481,20 @@ app.get('/poker-rooms/:id', (req, res) => {
|
||||
return res.status(200).send({ room: pokerRooms[req.params.id] })
|
||||
})
|
||||
|
||||
app.post('/poker-room/join', async (req, res) => {
|
||||
const { userId, roomId } = req.body
|
||||
|
||||
const user = await client.users.fetch(userId)
|
||||
|
||||
try {
|
||||
pokerRooms[roomId].players[userId] = user
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
|
||||
io.emit('player-joined')
|
||||
});
|
||||
|
||||
import http from 'http';
|
||||
import { Server } from 'socket.io';
|
||||
const server = http.createServer(app);
|
||||
|
||||
Reference in New Issue
Block a user