Python (server-side)
pip install pusherimport pusher
p = pusher.Pusher(
app_id='YOUR_APP_ID',
key='YOUR_APP_KEY',
secret='YOUR_APP_SECRET',
cluster='sa',
host='ws-sa.mawjly.com',
port=443,
ssl=True,
)
p.trigger('chat', 'message', {
'user': 'alice',
'text': 'Hello from Python!',
})Channel info
channels = p.channels_info(prefix_filter='presence-')
info = p.channel_info('presence-room-1', attributes=['user_count'])
members = p.users_info('presence-room-1')Auth endpoint (Flask example)
from flask import Flask, request, session, jsonify, abort
app = Flask(__name__)
@app.post('/pusher/auth')
def pusher_auth():
user_id = session.get('user_id')
if not user_id:
abort(401)
channel = request.form['channel_name']
socket_id = request.form['socket_id']
if channel.startswith('presence-'):
auth = p.authenticate(
channel=channel,
socket_id=socket_id,
custom_data={
'user_id': str(user_id),
'user_info': {'name': session['name']},
},
)
else:
auth = p.authenticate(channel=channel, socket_id=socket_id)
return jsonify(auth)