'get chat ids by querying the telegram `bot`
:type usernames: list[str]
:type fullnames: list[tuple[str, str]]
:type groups: list[str]
:rtype: __generator[ChatIdEntry]'

def _get_new_chat_ids(self, usernames, fullnames, groups):

    (upd_usernames, upd_fullnames, upd_groups) = self._get_bot_updates()
    len_ = len(usernames)
    for (i, username) in enumerate(reversed(usernames)):
        chat = upd_usernames.get(username)
        if (chat is not None):
            entry = ChatIdEntry(id=chat.id, username=chat.username, firstname=chat.first_name, surname=chat.last_name)
            (yield entry)
            usernames.pop(((len_ - i) - 1))
    len_ = len(fullnames)
    for (i, fullname) in enumerate(reversed(fullnames)):
        chat = upd_fullnames.get(fullname)
        if (chat is not None):
            entry = ChatIdEntry(id=chat.id, username=chat.username, firstname=chat.first_name, surname=chat.last_name)
            (yield entry)
            fullnames.pop(((len_ - i) - 1))
    len_ = len(groups)
    for (i, grp) in enumerate(reversed(groups)):
        chat = upd_groups.get(grp)
        if (chat is not None):
            entry = ChatIdEntry(id=chat.id, group=chat.title)
            (yield entry)
            groups.pop(((len_ - i) - 1))
