We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
slash commands: Add /dark and /light commands.
We have /night and /day, and people are starting to use them.  We should add the aliases /dark and /light.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `zerver/lib/zcommand.py`
Content:
```
1 from typing import Any, Dict
2 from django.utils.translation import ugettext as _
3 
4 from zerver.models import UserProfile
5 from zerver.lib.actions import do_set_user_display_setting
6 from zerver.lib.exceptions import JsonableError
7 
8 def process_zcommands(content: str, user_profile: UserProfile) -> Dict[str, Any]:
9     if not content.startswith('/'):
10         raise JsonableError(_('There should be a leading slash in the zcommand.'))
11     command = content[1:]
12 
13     if command == 'ping':
14         ret = dict()  # type: Dict[str, Any]
15         return ret
16 
17     if command == 'night':
18         if user_profile.night_mode:
19             msg = 'You are still in night mode.'
20         else:
21             msg = 'Changed to night mode! To revert night mode, type `/day`.'
22             do_set_user_display_setting(user_profile, 'night_mode', True)
23         ret = dict(msg=msg)
24         return ret
25 
26     if command == 'day':
27         if user_profile.night_mode:
28             msg = 'Changed to day mode! To revert day mode, type `/night`.'
29             do_set_user_display_setting(user_profile, 'night_mode', False)
30         else:
31             msg = 'You are still in day mode.'
32         ret = dict(msg=msg)
33         return ret
34 
35     raise JsonableError(_('No such command: %s') % (command,))
36
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/zerver/lib/zcommand.py b/zerver/lib/zcommand.py
--- a/zerver/lib/zcommand.py
+++ b/zerver/lib/zcommand.py
@@ -14,18 +14,21 @@
         ret = dict()  # type: Dict[str, Any]
         return ret
 
-    if command == 'night':
+    night_commands = ['night', 'dark']
+    day_commands = ['day', 'light']
+
+    if command in night_commands:
         if user_profile.night_mode:
             msg = 'You are still in night mode.'
         else:
-            msg = 'Changed to night mode! To revert night mode, type `/day`.'
+            msg = 'Changed to night mode! To revert night mode, type `%s`.' % (content,)
             do_set_user_display_setting(user_profile, 'night_mode', True)
         ret = dict(msg=msg)
         return ret
 
-    if command == 'day':
+    if command in day_commands:
         if user_profile.night_mode:
-            msg = 'Changed to day mode! To revert day mode, type `/night`.'
+            msg = 'Changed to day mode! To revert day mode, type `%s`.' % (content,)
             do_set_user_display_setting(user_profile, 'night_mode', False)
         else:
             msg = 'You are still in day mode.'

{"golden_diff": "diff --git a/zerver/lib/zcommand.py b/zerver/lib/zcommand.py\n--- a/zerver/lib/zcommand.py\n+++ b/zerver/lib/zcommand.py\n@@ -14,18 +14,21 @@\n         ret = dict()  # type: Dict[str, Any]\n         return ret\n \n-    if command == 'night':\n+    night_commands = ['night', 'dark']\n+    day_commands = ['day', 'light']\n+\n+    if command in night_commands:\n         if user_profile.night_mode:\n             msg = 'You are still in night mode.'\n         else:\n-            msg = 'Changed to night mode! To revert night mode, type `/day`.'\n+            msg = 'Changed to night mode! To revert night mode, type `%s`.' % (content,)\n             do_set_user_display_setting(user_profile, 'night_mode', True)\n         ret = dict(msg=msg)\n         return ret\n \n-    if command == 'day':\n+    if command in day_commands:\n         if user_profile.night_mode:\n-            msg = 'Changed to day mode! To revert day mode, type `/night`.'\n+            msg = 'Changed to day mode! To revert day mode, type `%s`.' % (content,)\n             do_set_user_display_setting(user_profile, 'night_mode', False)\n         else:\n             msg = 'You are still in day mode.'\n", "issue": "slash commands: Add /dark and /light commands.\nWe have /night and /day, and people are starting to use them.  We should add the aliases /dark and /light.\n", "before_files": [{"content": "from typing import Any, Dict\nfrom django.utils.translation import ugettext as _\n\nfrom zerver.models import UserProfile\nfrom zerver.lib.actions import do_set_user_display_setting\nfrom zerver.lib.exceptions import JsonableError\n\ndef process_zcommands(content: str, user_profile: UserProfile) -> Dict[str, Any]:\n    if not content.startswith('/'):\n        raise JsonableError(_('There should be a leading slash in the zcommand.'))\n    command = content[1:]\n\n    if command == 'ping':\n        ret = dict()  # type: Dict[str, Any]\n        return ret\n\n    if command == 'night':\n        if user_profile.night_mode:\n            msg = 'You are still in night mode.'\n        else:\n            msg = 'Changed to night mode! To revert night mode, type `/day`.'\n            do_set_user_display_setting(user_profile, 'night_mode', True)\n        ret = dict(msg=msg)\n        return ret\n\n    if command == 'day':\n        if user_profile.night_mode:\n            msg = 'Changed to day mode! To revert day mode, type `/night`.'\n            do_set_user_display_setting(user_profile, 'night_mode', False)\n        else:\n            msg = 'You are still in day mode.'\n        ret = dict(msg=msg)\n        return ret\n\n    raise JsonableError(_('No such command: %s') % (command,))\n", "path": "zerver/lib/zcommand.py"}], "after_files": [{"content": "from typing import Any, Dict\nfrom django.utils.translation import ugettext as _\n\nfrom zerver.models import UserProfile\nfrom zerver.lib.actions import do_set_user_display_setting\nfrom zerver.lib.exceptions import JsonableError\n\ndef process_zcommands(content: str, user_profile: UserProfile) -> Dict[str, Any]:\n    if not content.startswith('/'):\n        raise JsonableError(_('There should be a leading slash in the zcommand.'))\n    command = content[1:]\n\n    if command == 'ping':\n        ret = dict()  # type: Dict[str, Any]\n        return ret\n\n    night_commands = ['night', 'dark']\n    day_commands = ['day', 'light']\n\n    if command in night_commands:\n        if user_profile.night_mode:\n            msg = 'You are still in night mode.'\n        else:\n            msg = 'Changed to night mode! To revert night mode, type `%s`.' % (content,)\n            do_set_user_display_setting(user_profile, 'night_mode', True)\n        ret = dict(msg=msg)\n        return ret\n\n    if command in day_commands:\n        if user_profile.night_mode:\n            msg = 'Changed to day mode! To revert day mode, type `%s`.' % (content,)\n            do_set_user_display_setting(user_profile, 'night_mode', False)\n        else:\n            msg = 'You are still in day mode.'\n        ret = dict(msg=msg)\n        return ret\n\n    raise JsonableError(_('No such command: %s') % (command,))\n", "path": "zerver/lib/zcommand.py"}]}