Роботы, плагины и скрипты к чату MyChat. Разработка альтернативных клиентов и различных утилит. Технические вопросы по программированию, замечания и предложения по развитию API
Аватара пользователя
dv
​Если создать канал которому присвоится порядковый UID=123, а потом его удалить. То Следующий созданный канал получит освободившийся UID=123?

Аналогичный вопрос по пользователям.
Аватара пользователя
Алексей Пикуров
UIN и UID уникальны и никак не связаны между собой.

UIN - это числовой идентификатор пользователя, присваивается автоматически сервером при создании или регистрации нового пользователя. UIN-ы никогда не освобождаются и не пересекаются. Т.е. если пользователя удалить с сервера, никто в будущем не сможет занять его UIN.

UID - это числовой идентификатор текстового канала. Назначается сервером также автоматически, но если, скажем, был создан канал #main и ему присвоился UID = 38, потом канал был удалён, а через неделю снова был создан кем-то #main, то ему снова присвоится UID = 38. Т.е. сервер как бы "вспомнит" старый назначенный UID именно для этого канала.

P.S. #main и #Main считаются разными каналами.
Аватара пользователя
dv
Первое утверждение и так было понятно )
Спасибо.
А что произойдет после того как на сервере побывает 2147483647 пользователей ?
или пользователь создаст 2147483647 каналов??? ))
Аватара пользователя
Алексей Пикуров
Размерность UIN и UID - int64. Это гораздо больше, чем 2147483647.
Аватара пользователя
dv
В справке и во всех примерах указан integer
Аватара пользователя
dv
Ну допустим мы отодвинули "предел". А всё таки, что произойдет после заполнения?.
Аватара пользователя
Алексей Пикуров
Да, в плагинах мы используем integer. Произойдёт, скорее всего, переполнение, и UIN-ы и UID-ы начнут повторяться, "по кругу", с нуля. Но это чисто академический интерес. Такого в MyChat не должно случиться, это не глобальный мессенджер с миллиардами пользователей.