FreezeMessenger is an advanced instant messaging platform written in PHP, supporting infinite rooms, private messages, full-text message searching, message editing and deletion, file uploads, new message notifications, user statuses, per-room censors, custom emoticons, external logins, and more.
All core FreezeMessenger functionality is implemented through a REST-like API, meaning anyone can write their own FreezeMessenger frontends. FreezeMessenger currently comes with two frontends:
- The premier frontend (behind), “WebPro”, runs in the browser and was developed using Bootstrap, jQuery, and TypeScript.
- The desktop Java client (right) is a more minimal affair, supporting basic chatting, and was developed using JavaFX and Jackson.
Private messages allow any two users to have a private conversation:
- Users will be notified immediately when a new private message is sent to them.
- Users can disable private messaging, or restrict incoming private messages to only other users in their friends list.
- If a user blocks private messaging with another user, any existing private message will become read-only; both users will still be able to see their history, but not send new messages.
- Admins can revoke private messaging privileges on a per-user basis.
Advanced Room Permissioning
Rooms support an advanced level of permissioning:
- Default room permissions allow room creators to hide a room by default, allow everyone to view it, or allow everyone to post in it.
- Individual users can be granted granular permissions in rooms; for simplicity, the WebPro frontend exposes only the list of users allowed to both view and post in a room.
- Rooms have three moderation privileges: one that allows moderators to delete room posts, one that allows moderators to edit room properties and kick users, and one that allows moderators to alter the users allowed in a room.
Plus, any allowed user can follow a room to be notified whenever new messages are posted in it!
Powerful Administrative Tools
The FreezeMessenger administrative tools can be used to:
- View moderator, query, and access logs.
- Manage censor lists.
- Manage emoticons.
- Edit user privileges.
- Edit system configuration.
- View and clear the system cache.
- And, experimentally, update the system database schema after the dbSchema.xml file changes.
Logins providers can be used to provide a whole bunch of functionality, including:
- Usernames and username formatting.
- Avatars and profile URLs.
- Site-wide emoticons.
Supported Login Methods
vBulletin (versions 3/4 and 5) and PHPBB3 can be used as primary login providers, and user avatars, profiles, and more will be copied from these systems, providing amazing user integration with your existing forum systems.
In addition, Google, Facebook, Twitter, Steam, and Reddit can all be used as secondary OAuth login providers, providing easy one-click sign-on to users with social media accounts.
Advanced Event Streaming Support
Event streams are used to support a variety of events, including:
- User Events
- Missed Message (including new private messages)
- Room Events
- New Message
- Edited Message
- Deleted Message
- Topic Change
- User Status Change (including typing)
Powerful Database Support
FreezeMessenger is database-flexible; it supports the following database software:
- MySQL (and MariaDB)
- Microsoft SQL Server