{"action":"opened","issue":{"url":"https://api.github.com/repos/lovelaced/glitzz/issues/31","repository_url":"https://api.github.com/repos/lovelaced/glitzz","labels_url":"https://api.github.com/repos/lovelaced/glitzz/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/lovelaced/glitzz/issues/31/comments","events_url":"https://api.github.com/repos/lovelaced/glitzz/issues/31/events","html_url":"https://github.com/lovelaced/glitzz/issues/31","id":349640654,"node_id":"MDU6SXNzdWUzNDk2NDA2NTQ=","number":31,"title":".help command","user":{"login":"boreq","id":1935975,"node_id":"MDQ6VXNlcjE5MzU5NzU=","avatar_url":"https://avatars3.githubusercontent.com/u/1935975?v=4","gravatar_id":"","url":"https://api.github.com/users/boreq","html_url":"https://github.com/boreq","followers_url":"https://api.github.com/users/boreq/followers","following_url":"https://api.github.com/users/boreq/following{/other_user}","gists_url":"https://api.github.com/users/boreq/gists{/gist_id}","starred_url":"https://api.github.com/users/boreq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boreq/subscriptions","organizations_url":"https://api.github.com/users/boreq/orgs","repos_url":"https://api.github.com/users/boreq/repos","events_url":"https://api.github.com/users/boreq/events{/privacy}","received_events_url":"https://api.github.com/users/boreq/received_events","type":"User","site_admin":false},"labels":[{"id":973771913,"node_id":"MDU6TGFiZWw5NzM3NzE5MTM=","url":"https://api.github.com/repos/lovelaced/glitzz/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-10T20:02:21Z","updated_at":"2018-08-10T20:02:21Z","closed_at":null,"author_association":"COLLABORATOR","body":"This is a reminder that a potentially problematic `.help` command is needed.\r\n\r\nThe following features are needed:\r\n- get a list of commands with `.help`\r\n- display command help with `.help command_name`\r\n\r\nThis is problematic due to the way the modules are implemented. The modules have no knowledge about each other. Due to this the help command would have to be a solution existing at least partially outside of the modules.\r\n\r\nPotential solution:\r\n- get a list of commands with `.help`:\r\n  - each module would implement an interface such as `GetCommandList() []string` returning available command names\r\n  - when executing `.help` a piece of code living outside the modules could query all modules and assemble a list of commands to return\r\n- display command help with `.help command_name`\r\n  - this could be implemented directly in the modules\r\n  - `core.Base` could automatically respond when encountering this command\r\n  - the help strings would be added to `AddCommand` in the module constructors"}}
{"actor":{"display_login":"boreq"}}