# Aider chat conversation:
USER: add a new /voice command that just returns 'hi gpt' so that message gets sent
ASSISTANT: To add a new command, we need to add a new method to the `Commands` class in the `aider/commands.py` file. The method should be named `cmd_voice` and it should return the string 'hi gpt'.
Here is the *edit block* for this change:
<source>python
aider/commands.py
<<<<<<< HEAD
def cmd_help(self, args):
"Show help about all commands"
commands = sorted(self.get_commands())
for cmd in commands:
cmd_method_name = f"cmd_{cmd[1:]}"
cmd_method = getattr(self, cmd_method_name, None)
if cmd_method:
description = cmd_method.__doc__
self.io.tool_output(f"{cmd} {description}")
else:
self.io.tool_output(f"{cmd} No description available.")
=======
def cmd_help(self, args):
"Show help about all commands"
commands = sorted(self.get_commands())
for cmd in commands:
cmd_method_name = f"cmd_{cmd[1:]}"
cmd_method = getattr(self, cmd_method_name, None)
if cmd_method:
description = cmd_method.__doc__
self.io.tool_output(f"{cmd} {description}")
else:
self.io.tool_output(f"{cmd} No description available.")
def cmd_voice(self, args):
"Respond with 'hi gpt'"
return 'hi gpt'
>>>>>>> updated
</source>
It fixes 2 exceptions on Azure GPT-4
1)
Traceback (most recent call last):
File "/opt/homebrew/bin//aider", line 8, in <module>
sys.exit(main())
File "/opt/homebrew/lib/python3.10/site-packages/aider/main.py", line 523, in main
coder.run()
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 339, in run
new_user_message = self.run_loop()
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 423, in run_loop
return self.send_new_user_message(inp)
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 456, in send_new_user_message
interrupted = self.send(messages, functions=self.functions)
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 580, in send
self.show_send_output_stream(completion)
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 680, in show_send_output_stream
sys.stdout.write(text)
UnboundLocalError: local variable 'text' referenced before assignment
2)
Traceback (most recent call last):
File "/opt/homebrew/bin//aider", line 8, in <module>
sys.exit(main())
File "/opt/homebrew/lib/python3.10/site-packages/aider/main.py", line 523, in main
coder.run()
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 339, in run
new_user_message = self.run_loop()
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 423, in run_loop
return self.send_new_user_message(inp)
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 456, in send_new_user_message
interrupted = self.send(messages, functions=self.functions)
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 580, in send
self.show_send_output_stream(completion)
File "/opt/homebrew/lib/python3.10/site-packages/aider/coders/base_coder.py", line 656, in show_send_output_stream
if chunk.choices[0].finish_reason == "length":
IndexError: list index out of range