sanic.router.RouteExists: Route already registered

I’m trying to migrate to the latest RASA Version and was able to train rasa but when I try to run RASA with rest API option - I am getting the following error ,

Tried with below command

python -m rasa run -m models/model.tar.gz --enable-api  --cors *

Also tried with the below docker service but received the same error

rasa:
      image: rasa/rasa:latest-full
      ports:
	- 5006:5005
      volumes:
	- ./rasa:/app
      command:
	- run 
	- -m models 
	- --enable-api  

Attached detailed error message.

Any help is highly appreciated.

Thanks

I have a similar problem, you should take a look at my post from yesterday and try the described solutions.

Please let me know if this helps you or if you find a different solution.

No,It didn’t resolve the issue. As you have already mentioned in the other thread it didn’t work for me either. Thanks

I was able to resolve the error “sanic.router.RouteExists: Route already registered: /webhooks/rest/ [GET]” by replacing “rest” with “chatroom”. Hope this helps!

class RestInput(InputChannel):

@classmethod
def name(cls):
    return "chatroom"

I have similar problem:

AssertionError: A blueprint with the name “custom_webhook_RestInput” is already registered. Blueprint names must be unique.

Any solutions?

Did you try the above solution?

yes but doesn’t work. In fact it logs to the console: “hi from name method”, so this means that this part of the code is working:

@classmethod
def name(cls):
    print("hi from name method")
    return "rest"

you have to change the name of api endpoint to other than “rest” in the return. you can try

@classmethod def name(cls): print(“hi from name method”) return “chatbot”

The problem is RASA has default api endpoint with the name “rest” so you can not use the same name in your custom channel code.

yes, I tried to change it but I get the same error. It seems the problem is related to blueprint name “custom_webhook_RestInput”