When you type ^^ (under normal category code setting, that is, when ^ has category code 7), TeX looks for the next character, say it has ASCII code x (less than 128) and substitutes the whole construction with the character having ASCII code x − 64 or x + 64, depending on which one is in the range 0–127.
Exception: if the following character is among 0123456789abcdef, TeX will look for a further character and, if again among those, it will substitute the four characters with the one having the ASCII code as specified by interpreting the two characters as hexadecimal digits.
It follows that typing ^^ for getting two carets is not possible. Also \verb doesn't work in argument to other commands and, unfortunately, the contents of a bubblesright environment must be absorbed as an argument to a macro.
Solution: define a specific command for that emoticon.
I suggest to add the following just before \ExplSyntaxOff:
\NewDocumentCommand{\ei}{m}{ \texttt { \tl_to_str:n { #1 } } }
\NewDocumentCommand{\eihh}{}{ \texttt { \tl_to_str:N ^ \tl_to_str:N ^ } }
and then you can type
\begin{rightbubbles}
Here \ei{;-)}
What \eihh
Another \ei{:-D}
\end{rightbubbles}

Alternative trickery.
Add, before \ExplSyntaxOff
\NewDocumentCommand{\ei}{m}{ \texttt { \tl_to_str:n { #1 } } }
\char_set_active_eq:nN { `^ } \c_math_superscript_token
\AtBeginDocument
{
\char_set_mathcode:nn { `^ } { "8000 }
\char_set_catcode_other:n { `^ }
}
Then the input
\begin{rightbubbles}
Here \ei{;-)}
What \ei{^^}
Another \ei{:-D}
\end{rightbubbles}
will produce the same output as before.
^^in the TeXbook index. – Steven B. Segletes Dec 11 '17 at 13:39\verb|^^|perhaps but it depends why you want^at all, it is not a common character to need in a document – David Carlisle Dec 11 '17 at 13:40^^does not get converted to M, but it does read the following one or two characters and adjust the character code. You presumably are following^^by a linebreak which is control-m so^^-linebreakis M – David Carlisle Dec 11 '17 at 13:42\begin{leftbubbles}and\end{leftbubbles}from this answer How to make every line in a bubble like chat conversations?. The error is `! Missing } inserted.\verbtry\texttt{\string^\string^}or\texttt{\textasciicircum\textasciicircum}. – Nicola Talbot Dec 11 '17 at 14:10^has catcode letter outside of math mode, so typing^^gives you two carets in output. – Aditya Dec 16 '17 at 18:53