Golang chatbots advices

Hi everyone!
I’m a backend software developer working with c# for the past few years. I’m currently learning golang and I’m planning to use it within my new projects.

I need to build a chat bot that uses natural language processing (NLP) for analizing and answering questions.
Basically is a first level support bot.

I know that I could use c# with SignalR to build this easily, but I’m looking for new challenges. Is golang a good choice for building chat bots? Someone has some advices to give? Any tips? Any template or package to suggest?

Thank you!!

Hi and welcome!

Go is a very good choice for networked applications like a chatbot; as far as I know the NLP libraries are a bit more lacking than other languages, but they are getting there, see for example https://github.com/advancedlogic/go-freeling

As for the package for the chat, that depends on the protocol you want to use. What is it going to be? IRC, XMPP, Slack?

I suggest starting with the minimal example for the protocol implementation you want to use and plug-in your natural language processing code somewhere there.


I have not really done chatbots in bots in golang, but i have played around with websockets and web stuff in go the popular library for websockets is https://github.com/gorilla/websocket, I use it a lot, think of it as your SignalR but its low level , for web stuff use any framework you like I tend to use golang’s std library since it has almost everything I need IMO.

You can build parts in Golang and then just bind to any C NPL library(s) you need to use with cgo. Unless you want a strictly pure-go chatbot, this could be a good way to go.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.