{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":317938665,"defaultBranch":"master","name":"Utility-Discord-Bot","ownerLogin":"mikeyaworski","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-02T17:25:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10966214?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718136661.0","currentOid":""},"activityList":{"items":[{"before":"92a430734df5b83f66eeb0ba31312020f89dba88","after":"621a3b6c72ced70c990177d21672b7540e86db1d","ref":"refs/heads/master","pushedAt":"2024-06-27T19:05:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Upgrade youtube-dl-exec to 3.0.6\nRemove TS error for yt-dlp flags","shortMessageHtmlLink":"Upgrade youtube-dl-exec to 3.0.6"}},{"before":"d17ac7677e4342dcf8ee81f0476ed847ad9ab397","after":"92a430734df5b83f66eeb0ba31312020f89dba88","ref":"refs/heads/master","pushedAt":"2024-06-27T04:17:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Refactor Track by moving nested functions to instance functions","shortMessageHtmlLink":"Refactor Track by moving nested functions to instance functions"}},{"before":"e8285a592a717333dbae463710d95b17f91acfa8","after":"d17ac7677e4342dcf8ee81f0476ed847ad9ab397","ref":"refs/heads/master","pushedAt":"2024-06-27T04:13:25.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Refactor Track by moving nested functions to instance functions","shortMessageHtmlLink":"Refactor Track by moving nested functions to instance functions"}},{"before":"26e0ff2ce3e40719b15d5b9a3aa9fc4d9de35830","after":"e8285a592a717333dbae463710d95b17f91acfa8","ref":"refs/heads/master","pushedAt":"2024-06-23T23:00:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Defaults audio normalization to true","shortMessageHtmlLink":"[Player] Defaults audio normalization to true"}},{"before":"e2b317be84fa6162d29179b85b63b780b611545b","after":"26e0ff2ce3e40719b15d5b9a3aa9fc4d9de35830","ref":"refs/heads/master","pushedAt":"2024-06-21T04:04:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Prefers Google Cloud for text-to-speech\nUses OpenAI as a fallback, but Google Cloud has a free tier\n* Adds GOOGLE_APPLICATION_CREDENTIALS environment variable\n* Adds documentation for Google application service account credentials\n\nReferences #70","shortMessageHtmlLink":"[Player] Prefers Google Cloud for text-to-speech"}},{"before":"60f818eddd67718e632aee8a740fc63c49dcf691","after":"e2b317be84fa6162d29179b85b63b780b611545b","ref":"refs/heads/master","pushedAt":"2024-06-19T18:56:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Upgrades youtube-dl-exec to 3.0.3","shortMessageHtmlLink":"[Player] Upgrades youtube-dl-exec to 3.0.3"}},{"before":"005f5cd8b1114102a477d9f9b7a24f2e03f183cb","after":"60f818eddd67718e632aee8a740fc63c49dcf691","ref":"refs/heads/master","pushedAt":"2024-06-19T04:18:58.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Fixes duration bug for /play command\nA YouTube livestream which has duration 0 would show 0:00/0:00,\nwhich is meaningless.","shortMessageHtmlLink":"[Player] Fixes duration bug for /play command"}},{"before":"e0f7c2158738fa47b363a877cfee5271885dc2b5","after":"005f5cd8b1114102a477d9f9b7a24f2e03f183cb","ref":"refs/heads/master","pushedAt":"2024-06-18T20:25:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Improves error handling for yt-dlp process\nPrevents errors from being ignored.\nInstead, they are piped and logged.","shortMessageHtmlLink":"[Player] Improves error handling for yt-dlp process"}},{"before":"4495ea2cb4592f00f8fbde95ff2af66c6e1debb4","after":"e0f7c2158738fa47b363a877cfee5271885dc2b5","ref":"refs/heads/master","pushedAt":"2024-06-18T09:31:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Implements prism-media library\nUses prism-media instead of fluent-ffmpeg\n* Removes unused ytdl-core since the library is abandoned and non-functional\n* Adds prism-media dependency\n* Removes fluent-ffmpeg and ytdl-core dependencies\n* Fixes memory leak (closes #73)\n by manually destroying ffmpeg process and yt-dlp process after resource 'close' event\n* Prevents youtube-dl-exec from force crashing the server\n* Adds sodium dependency for improved encyption performance\n optional dependency since building this on a machine requires build\n tools","shortMessageHtmlLink":"[Player] Implements prism-media library"}},{"before":"2c33a19ff5d72e0aea0820b0231077f39011e6f9","after":"4495ea2cb4592f00f8fbde95ff2af66c6e1debb4","ref":"refs/heads/master","pushedAt":"2024-06-18T09:29:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Implements prism-media library\nUses prism-media instead of fluent-ffmpeg\n* Removes unused ytdl-core since the library is abandoned and non-functional\n* Adds prism-media dependency\n* Removes fluent-ffmpeg and ytdl-core dependencies\n* Fixes memory leak (closes #73)\n by manually destroying ffmpeg process and yt-dlp process after resource 'close' event\n* Prevents youtube-dl-exec from force crashing the server","shortMessageHtmlLink":"[Player] Implements prism-media library"}},{"before":"25cec3a89c5f1b876edf66db843022dbd38ed203","after":"2c33a19ff5d72e0aea0820b0231077f39011e6f9","ref":"refs/heads/master","pushedAt":"2024-06-18T02:23:47.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Adds support for normalizing audio loudness\nChanges player-updates database table and command to player-settings,\nwhich now contains a column to toggle audio normalization for a guild.\nCloses #48","shortMessageHtmlLink":"[Player] Adds support for normalizing audio loudness"}},{"before":"668e9a625202f5c85eca6475df9d9326aee54780","after":null,"ref":"refs/heads/ChatGPT-4o","pushedAt":"2024-06-11T20:11:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"}},{"before":"55cef9347ca642b08c4e1afd11344bb7903f7ccb","after":"25cec3a89c5f1b876edf66db843022dbd38ed203","ref":"refs/heads/master","pushedAt":"2024-06-11T20:11:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Updates ChatGPT to 4o model (#82)\n\n* Updates openai package to 4.50.0\r\n* Adds support for image queries\r\n* Updates parseInput util to support attachments\r\n* Does not implement image queries for web API\r\n* Adds support for hidden modal args\r\n* Improves label for ephemeral field on modal\r\n\r\nCo-authored-by: Michael Yaworski ","shortMessageHtmlLink":"Updates ChatGPT to 4o model (#82)"}},{"before":"327fd5796a815433fc19a1ba168ea524cf497a97","after":"668e9a625202f5c85eca6475df9d9326aee54780","ref":"refs/heads/ChatGPT-4o","pushedAt":"2024-06-11T20:07:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[ChatGPT] Adds error handling if attachment is not an image","shortMessageHtmlLink":"[ChatGPT] Adds error handling if attachment is not an image"}},{"before":"ada240c68ee9846aa5144131e068263860159518","after":"327fd5796a815433fc19a1ba168ea524cf497a97","ref":"refs/heads/ChatGPT-4o","pushedAt":"2024-06-11T20:06:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[ChatGPT] Adds error handling if attachment is not an image","shortMessageHtmlLink":"[ChatGPT] Adds error handling if attachment is not an image"}},{"before":"7f2511c9116dccaa14f842fc9d1de2e46fa614f5","after":"ada240c68ee9846aa5144131e068263860159518","ref":"refs/heads/ChatGPT-4o","pushedAt":"2024-06-11T19:51:32.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[ChatGPT] Removes image arg on modal\nImproves label for ephemeral field on modal","shortMessageHtmlLink":"[ChatGPT] Removes image arg on modal"}},{"before":"a61e9b852dff1a0cbca19954c44baa98ff0edcab","after":"55cef9347ca642b08c4e1afd11344bb7903f7ccb","ref":"refs/heads/master","pushedAt":"2024-06-11T19:32:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Adds npm scripts for rebuilding docker images\nOne of these scripts can be used when developing locally\nand the dependencies change.\nBecause dependencies are installed at build time for the image,\nchanged dependencies are never available in the container.","shortMessageHtmlLink":"Adds npm scripts for rebuilding docker images"}},{"before":"a61e9b852dff1a0cbca19954c44baa98ff0edcab","after":"7f2511c9116dccaa14f842fc9d1de2e46fa614f5","ref":"refs/heads/ChatGPT-4o","pushedAt":"2024-06-11T09:48:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"IzqCode","name":null,"path":"/IzqCode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84123307?s=80&v=4"},"commit":{"message":"Updates ChatGPT to 4o model\nAdds support for image queries","shortMessageHtmlLink":"Updates ChatGPT to 4o model"}},{"before":null,"after":"a61e9b852dff1a0cbca19954c44baa98ff0edcab","ref":"refs/heads/ChatGPT-4o","pushedAt":"2024-06-11T09:42:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"IzqCode","name":null,"path":"/IzqCode","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84123307?s=80&v=4"},"commit":{"message":"Enables Row Level Security (RLS) on all public tables\nThis addresses a security vulnerability with Supabase exposing these tables\nvia a REST API to anonymous users","shortMessageHtmlLink":"Enables Row Level Security (RLS) on all public tables"}},{"before":"fac2bee069e09fd66e285b2e6f5246e0342e2b16","after":"a61e9b852dff1a0cbca19954c44baa98ff0edcab","ref":"refs/heads/master","pushedAt":"2024-05-15T05:19:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Enables Row Level Security (RLS) on all public tables\nThis addresses a security vulnerability with Supabase exposing these tables\nvia a REST API to anonymous users","shortMessageHtmlLink":"Enables Row Level Security (RLS) on all public tables"}},{"before":"016a6416be416b7b0a0d03f2823c4cd3ce6b3bdb","after":"fac2bee069e09fd66e285b2e6f5246e0342e2b16","ref":"refs/heads/master","pushedAt":"2024-04-02T17:24:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Adds white-listed user IDs to ChatGPT","shortMessageHtmlLink":"Adds white-listed user IDs to ChatGPT"}},{"before":"0543d99cb6f96a8265773d2a2566a2ac8fe07878","after":"016a6416be416b7b0a0d03f2823c4cd3ce6b3bdb","ref":"refs/heads/master","pushedAt":"2024-04-02T17:00:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Adds white-listed user IDs to ChatGPT","shortMessageHtmlLink":"Adds white-listed user IDs to ChatGPT"}},{"before":"54856c78bce180d2efe2ccc75d26908b9897e689","after":"0543d99cb6f96a8265773d2a2566a2ac8fe07878","ref":"refs/heads/master","pushedAt":"2024-03-10T04:49:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Deletes cached promises if one throws an exception\nin auth util","shortMessageHtmlLink":"Deletes cached promises if one throws an exception"}},{"before":"ac234f7ef555497a7aea87fb7011fa6844da1f86","after":"54856c78bce180d2efe2ccc75d26908b9897e689","ref":"refs/heads/master","pushedAt":"2024-03-09T21:05:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[ChatGPT] Uses 429 status code when rate limited","shortMessageHtmlLink":"[ChatGPT] Uses 429 status code when rate limited"}},{"before":"d04883ede1aa3eb336b86e06c4124ca4fc27f491","after":"ac234f7ef555497a7aea87fb7011fa6844da1f86","ref":"refs/heads/master","pushedAt":"2024-01-13T01:57:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Docs] Updates Supabase database settings URL","shortMessageHtmlLink":"[Docs] Updates Supabase database settings URL"}},{"before":"ad1ef5fd0caf0c8a773a9f0b9f3bed3603f240db","after":"d04883ede1aa3eb336b86e06c4124ca4fc27f491","ref":"refs/heads/master","pushedAt":"2023-12-17T04:00:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Adds endpoint for messaging ChatGPT","shortMessageHtmlLink":"Adds endpoint for messaging ChatGPT"}},{"before":"7c2c7d6e46cbf7452e0b1548807bbceab419e9c2","after":"ad1ef5fd0caf0c8a773a9f0b9f3bed3603f240db","ref":"refs/heads/master","pushedAt":"2023-12-17T03:58:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Adds endpoint for messaging ChatGPT","shortMessageHtmlLink":"Adds endpoint for messaging ChatGPT"}},{"before":"f5e82750810cd32595eea37702298a10230b8bf5","after":"7c2c7d6e46cbf7452e0b1548807bbceab419e9c2","ref":"refs/heads/master","pushedAt":"2023-10-21T23:38:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Returns queue snippet instead of entire queue\nAvoids rate limiting\nDefines QUEUE_SNIPPET_LENGTH constant","shortMessageHtmlLink":"[Player] Returns queue snippet instead of entire queue"}},{"before":"5650a6c41f8bc03109632e3508b4a45ff84ca008","after":"f5e82750810cd32595eea37702298a10230b8bf5","ref":"refs/heads/master","pushedAt":"2023-10-08T10:36:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"[Player] Adds concurrency limit to YouTube\nvideo details fetching","shortMessageHtmlLink":"[Player] Adds concurrency limit to YouTube"}},{"before":"518323fa5e3f489109f6c00f46c21e23528ae6ca","after":"5650a6c41f8bc03109632e3508b4a45ff84ca008","ref":"refs/heads/master","pushedAt":"2023-10-08T10:11:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikeyaworski","name":"Michael Yaworski","path":"/mikeyaworski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10966214?s=80&v=4"},"commit":{"message":"Adds duration fetching to YouTube playlist tracks\nInstalls iso8601-duration dependency","shortMessageHtmlLink":"Adds duration fetching to YouTube playlist tracks"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEcS06rwA","startCursor":null,"endCursor":null}},"title":"Activity ยท mikeyaworski/Utility-Discord-Bot"}