Aethel Bot OSS repository! aethel.xyz
bot fun ai discord discord-bot aethel

fix votes

Changed files
+6 -54
src
+6 -54
src/utils/voteManager.ts
··· 76 76 [userId, serverId || null, VOTE_CREDITS], 77 77 ); 78 78 79 - const query = serverId 80 - ? `INSERT INTO message_credits (user_id, server_id, credits_remaining, last_reset) 81 - VALUES ($1, $2, $3, NOW()) 82 - ON CONFLICT (user_id, server_id) WHERE server_id IS NOT NULL 83 - DO UPDATE SET 84 - credits_remaining = message_credits.credits_remaining + $3, 85 - last_reset = NOW() 86 - RETURNING credits_remaining` 87 - : `INSERT INTO message_credits (user_id, credits_remaining, last_reset) 88 - VALUES ($1, $3, NOW()) 89 - ON CONFLICT (user_id) WHERE server_id IS NULL 90 - DO UPDATE SET 91 - credits_remaining = message_credits.credits_remaining + $3, 92 - last_reset = NOW() 93 - RETURNING credits_remaining`; 94 - 95 - await client.query(query, [userId, serverId, VOTE_CREDITS].filter(Boolean)); 96 79 97 80 await client.query('COMMIT'); 98 81 } catch (error) { ··· 148 131 [userId, serverId || null, VOTE_CREDITS], 149 132 ); 150 133 151 - await client.query( 152 - `INSERT INTO message_credits (user_id, credits_remaining, last_reset) 153 - VALUES ($1, $2, NOW()) 154 - ON CONFLICT (user_id) 155 - DO UPDATE SET 156 - credits_remaining = message_credits.credits_remaining + EXCLUDED.credits_remaining, 157 - last_reset = NOW() 158 - RETURNING credits_remaining`, 159 - [userId, VOTE_CREDITS], 160 - ); 161 - 162 - console.log(`Added ${VOTE_CREDITS} credits to user ${userId} (global)`); 163 134 164 135 const clientBot = new Client({ 165 136 intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers], ··· 178 149 const member = await fullGuild.members.fetch(userId).catch(() => null); 179 150 180 151 if (member) { 181 - await client.query( 182 - `INSERT INTO message_credits (user_id, server_id, credits_remaining, last_reset) 183 - VALUES ($1, $2, $3, NOW()) 184 - ON CONFLICT (user_id, server_id) 185 - DO UPDATE SET 186 - credits_remaining = message_credits.credits_remaining + $3, 187 - last_reset = NOW() 188 - RETURNING credits_remaining`, 189 - [userId, guild.id, VOTE_CREDITS], 190 - ); 191 152 console.log( 192 - `Added ${VOTE_CREDITS} credits to user ${userId} in server ${guild.id}`, 153 + `User ${userId} is member of server ${guild.id} - vote benefits apply`, 193 154 ); 194 155 } 195 156 } catch (error) { ··· 204 165 clientBot.destroy().catch(console.error); 205 166 } 206 167 207 - await client.query( 208 - `INSERT INTO ai_usage (user_id, usage_date, count) 209 - VALUES ($1, CURRENT_DATE, 10) 210 - ON CONFLICT (user_id, usage_date) 211 - DO UPDATE SET 212 - count = GREATEST(0, ai_usage.count) + 10 213 - RETURNING count`, 214 - [userId], 215 - ); 216 - 217 - console.log(`Added 10 AI usage credits to user ${userId}`); 168 + 169 + console.log(`User ${userId} voted - AI system will give +10 daily limit`); 218 170 219 171 try { 220 172 const clientBot = new Client({ ··· 234 186 .send( 235 187 `🎉 **Thank you for voting for Aethel!**\n` + 236 188 `\n` + 237 - `You've received **+10 AI message credits** for today!\n` + 189 + `You've received **+10 AI daily limit** for today!\n` + 238 190 `\n` + 239 191 `You can vote again <t:${nextVoteTime}:R>\n` + 240 192 `\n` + ··· 252 204 253 205 return { 254 206 success: true, 255 - creditsAwarded: serverId ? VOTE_CREDITS * 2 : VOTE_CREDITS, 207 + creditsAwarded: 10, 256 208 nextVoteAvailable: voteStatus.nextVote, 257 209 }; 258 210 } catch (error) { ··· 291 243 292 244 export async function canUseAIFeature( 293 245 userId: string, 294 - _serverId?: string, // Prefix with underscore to indicate intentionally unused 246 + _serverId?: string, 295 247 ): Promise<{ canUse: boolean; remainingCredits: number }> { 296 248 const client = await pool.connect(); 297 249 try {