You are never going to be wrong calling someone by their full username (including punctuation, numbers, and such). There are a few places where it is safe to use less of the name:
- the person has a clear "western firstname western lastname" display name, like "Brad Pitt" or "Kate Gregory". It's typically safe to just use the first name in this context.
- the person has a clearly fictional name, such as the name of a character in a book. It's typically safe to use the same nicknaming as the other characters in that book (if you know it)
- the person has some numbers at the end, such as Sunshine123. Here you can safely omit the numbers and just call the person Sunshine.
- the name is a phrase like "Darkness Comes By Midnight" - you can try using just one word (choose carefully) to refer to them, and they may or may not be ok with it.
And of course, the person has told you what to call them. I was in a forum where a person's handle started with Makarios and then, starting with a capital letter, the rest of the handle was the last name I presume. Some people were calling this person Mak and were told: "either Makarios or Meky please." I don't know the nickname forming rules in that culture, but that's ok, because I was told by the user how to handle it.
If you're worried there will confusion because there are two Brads or two Kates in the conversation, then just as we use last names (or clarifiers like "Susan's Brad") in conversation to clear that up, you can use full user names.
In some places there are two names. For example, on Twitter my handle is @gregcons, though my display name is Kate Gregory. Same on Slack. Some people call me (and refer to me as) Kate, and some as gregcons. I am ok with either. I notice that when you call someone their display name instead of their handle (here on Stack Exchange we don't have separate display names and handles) it gives the interaction a more personal feel. It suggests the people involved really know each other. That is generally a good thing.
If you happen to know someone's real name, and it is not their display name or handle, I would generally avoid using it. For example, I have met some Stack Exchange people (eg at conferences) but I would not write a comment here calling them by their real name just because I happen to know it. Partly because their real name may be a piece of private information, and partly because the other participants may not know that when I say Steve I mean Darkness Comes By Midnight so they will get confused. (Made up name.) That applies even if the real name is in their profile - it's not immediately shown to people reading the question and answer, so the use of it may leave others confused.