There isn't a way to do
::SendInput % "testing" ((A_EndChar=A_Space)?"":A_EndChar)::, as it doesn't recognize the "SendInput" as a command, but only as a string of text to send. You won't be able selectively modify the behavior of
::]mytext::My ready made text and how an ending character would behave differently, but as I mentioned in another thread of yours using
:o:]mytext::My ready made text would omit the ending character, even if that is a return character. However, you might be intersted in doing the asterisk option
:*:]mytext::My ready made text which activates even if you do not have an end key. In otherwords, as soon as you press the last "t", your autoreplacement takes effect. I do not know if this is acceptable for you. It would depend if your final product does use unusual characters such as ] to start the hotstring.
I want to say someone has shared a dynamic hotstring script before, but I'm not entirely sure how that worked or if that is applicable here.
It is a pain that it seems you'll have to use multiple lines to get many hotkeys to behave as you wish.