{"action":"created","issue":{"url":"https://api.github.com/repos/hydrabolt/discord.js/issues/656","repository_url":"https://api.github.com/repos/hydrabolt/discord.js","labels_url":"https://api.github.com/repos/hydrabolt/discord.js/issues/656/labels{/name}","comments_url":"https://api.github.com/repos/hydrabolt/discord.js/issues/656/comments","events_url":"https://api.github.com/repos/hydrabolt/discord.js/issues/656/events","html_url":"https://github.com/hydrabolt/discord.js/issues/656","id":175671315,"number":656,"title":"Sequential request handling is not practical at a large-scale","user":{"login":"Programmix","id":13167687,"avatar_url":"https://avatars.githubusercontent.com/u/13167687?v=3","gravatar_id":"","url":"https://api.github.com/users/Programmix","html_url":"https://github.com/Programmix","followers_url":"https://api.github.com/users/Programmix/followers","following_url":"https://api.github.com/users/Programmix/following{/other_user}","gists_url":"https://api.github.com/users/Programmix/gists{/gist_id}","starred_url":"https://api.github.com/users/Programmix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Programmix/subscriptions","organizations_url":"https://api.github.com/users/Programmix/orgs","repos_url":"https://api.github.com/users/Programmix/repos","events_url":"https://api.github.com/users/Programmix/events{/privacy}","received_events_url":"https://api.github.com/users/Programmix/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hydrabolt/discord.js/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/hydrabolt/discord.js/milestones/4","html_url":"https://github.com/hydrabolt/discord.js/milestones/9.2.0","labels_url":"https://api.github.com/repos/hydrabolt/discord.js/milestones/4/labels","id":1995407,"number":4,"title":"9.2.0","description":"Features for the 9.2.0 release","creator":{"login":"hydrabolt","id":10330923,"avatar_url":"https://avatars.githubusercontent.com/u/10330923?v=3","gravatar_id":"","url":"https://api.github.com/users/hydrabolt","html_url":"https://github.com/hydrabolt","followers_url":"https://api.github.com/users/hydrabolt/followers","following_url":"https://api.github.com/users/hydrabolt/following{/other_user}","gists_url":"https://api.github.com/users/hydrabolt/gists{/gist_id}","starred_url":"https://api.github.com/users/hydrabolt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hydrabolt/subscriptions","organizations_url":"https://api.github.com/users/hydrabolt/orgs","repos_url":"https://api.github.com/users/hydrabolt/repos","events_url":"https://api.github.com/users/hydrabolt/events{/privacy}","received_events_url":"https://api.github.com/users/hydrabolt/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":2,"state":"open","created_at":"2016-09-10T13:49:19Z","updated_at":"2016-09-10T16:07:48Z","due_on":"2016-09-30T00:00:00Z","closed_at":null},"comments":2,"created_at":"2016-09-08T05:56:24Z","updated_at":"2016-09-10T21:16:21Z","closed_at":null,"body":"*Oh, what have async requests come to? :(*\r\n\r\nSequential request handling works all right and makes bots extremely less likely to abuse rate limits. However, on a more large-scale where the bot needs to perform lots of actions per second, sequential request handling becomes less practical. I think that it works great for smaller-scale bots, however. A separate, optional request handler should be implemented that can deal with multiple requests being sent at once (and thus should also have an RPS lock.)"},"comment":{"url":"https://api.github.com/repos/hydrabolt/discord.js/issues/comments/246140893","html_url":"https://github.com/hydrabolt/discord.js/issues/656#issuecomment-246140893","issue_url":"https://api.github.com/repos/hydrabolt/discord.js/issues/656","id":246140893,"user":{"login":"hydrabolt","id":10330923,"avatar_url":"https://avatars.githubusercontent.com/u/10330923?v=3","gravatar_id":"","url":"https://api.github.com/users/hydrabolt","html_url":"https://github.com/hydrabolt","followers_url":"https://api.github.com/users/hydrabolt/followers","following_url":"https://api.github.com/users/hydrabolt/following{/other_user}","gists_url":"https://api.github.com/users/hydrabolt/gists{/gist_id}","starred_url":"https://api.github.com/users/hydrabolt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hydrabolt/subscriptions","organizations_url":"https://api.github.com/users/hydrabolt/orgs","repos_url":"https://api.github.com/users/hydrabolt/repos","events_url":"https://api.github.com/users/hydrabolt/events{/privacy}","received_events_url":"https://api.github.com/users/hydrabolt/received_events","type":"User","site_admin":false},"created_at":"2016-09-10T21:16:21Z","updated_at":"2016-09-10T21:16:21Z","body":"I've addressed this in e75dd2638c2e479b5756b38986fe980582beda6d, you can now use burst request mode to send requests as soon as they come through until the requester runs out of remaining requests or gets rate-limited. After a specified amount of time, the requester will begin to process its queue again. \r\n\r\nWhile this _is_ experimental, it seems to work just fine! You can use `burst` mode like so:\r\n\r\n```js\r\nconst client = new Discord.Client({ api_request_method: 'burst' });\r\n```"}}
{"actor":{"display_login":"hydrabolt"}}