Is there a way to send messages (e.g. "system messages") into chat rooms outside of the client SDK? I'd like to do this through my own server to prevent abuse etc.
Thank you for choosing Photon!
No, there is no built-in way to do this.
Here are the two ways you could use this:
Thanks for your response. I hope you'll consider adding this feature, as in our case, your 2 suggestions don't apply unfortunately.
Our use case is that we have groups of players in our game that each have their own channel and when certain game events take place within the group (independently of chat messages), we want to be able to inject system messages like "Player X achieved Y!".
What I suggested before can help you achieve your goal.
either clients could poll (to check for new events) from web backend via PublishMessage webhook (response make use of Data to override message and return event system message)
or special web client(s) send(s) event system message to each group channel (either subscribe to all beforehand or subscribe and publish on demand).
but of course you could also choose to do it from your own backend in a custom way independently from Photon Chat.
Thanks for the suggestions @JohnTube, but as I mentioned before, this doesn't really help us because we don't want to have clients poll (defeats the purpose of having a realtime/chat service) or rely on the PublishMessage webhook (which is strangely reliant on the client allowing this with the forwardAsWebhook parameter 🤯).
We also cannot run a special web client because there's no SDK for our backend environment (python). Today we've run into an additional limitation, which is that there is no way to remove/kick a user from a channel through Photon.
Once again, I hope you'll consider adding a server-to-server API for your service. Relying on the client apps to do the right thing just isn't feasible or secure enough for serious apps/games.
analyze performance and traffic on our website.
By clicking on the „Accept All“ button you consent to the use of non-functional cookies and the subsequent
processing of personal data to optimize our website and services as described in more detail in our
By clicking on the „Customize or Deny all“ button you can decide otherwise.
Clicking on the „Customize“ button will take you to a page where you can configure the usage of non-functional
cookies (and related technologies) or deny all of them. You can access these settings at any time and also
subsequently deselect cookies at any time in the footer area of our website.
We use the following categories of cookies and related technologies to enhance your experience,
show you personalized content, and analyze performance and traffic on our website.
We respect your right to privacy and accordingly you can chose to not allow some types of cookies (and related technologies).
Click on the different category sliders and change our default settings to manage your cookie settings.
For more information on the specific cookies/related technologies we use and on how we use these,
Authentication cookies we use are required to run our services … Cookies are required:
These cookies collect anonymous data and allow us to optimize our
website and user experience. These cookies are listed here:
Help us to understand how visitors interact with our services, enables us
to analyze and improve our services (also through third party analytics).