aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc/muc.lib.lua
Commit message (Collapse)AuthorAgeFilesLines
* plugins/muc/muc.lib: Improve set affiliation logic;daurnimator2014-03-281-32/+64
| | | | | | | | - Each affiliation and role is now ranked - Changes up in affiliation will not downgrade your role - Now sends a new set of presences if you gained moderator in a semi-anonymous room. - Better input validation; matches closer with ':set_role' - Don't short circuit; as if user has non-default role they will not get updated
* plugins/muc/muc.lib: Smarter validation in set_affiliationdaurnimator2014-03-281-2/+14
|
* plugins/muc/muc.lib: Fix anonymous check in `send_occupant_list`daurnimator2014-03-281-4/+12
|
* plugins/muc/muc.lib: Allow `:send_occupant_list` to have no filterdaurnimator2014-03-281-1/+1
|
* plugins/muc/muc.lib: Fix sending occupant jid instead of real jid in <item/> ↵daurnimator2014-03-281-6/+6
| | | | actor
* plugins/muc/muc.lib: Clean up :set_role. Removes :can_set_roledaurnimator2014-03-281-23/+35
|
* plugins/muc/muc.lib: Remove callback parameter from set_role and set_affiliationdaurnimator2014-03-281-15/+10
|
* plugins/muc/muc.lib: non-function changes (reordering, semicolons and comments)daurnimator2014-03-271-14/+14
|
* plugins/muc: Massive refactordaurnimator2014-03-271-364/+415
| | | | | | We now have occupant objects; you grab them, modify them, save them. New presence handling code. Modify all presence sending to go via new functions.
* plugins/muc/muc.lib: If decline is to person in room; route to all sessionsdaurnimator2014-03-271-1/+7
|
* plugins/muc/muc.lib: Have timestamp as seconds since epoch inside of historydaurnimator2014-03-271-3/+4
|
* plugins/muc: Rename admin query hookdaurnimator2014-03-271-2/+2
|
* plugins/muc/muc.lib: Add :broadcast method; use it from ↵daurnimator2014-03-241-5/+9
| | | | :broadcast_except_nick and :broadcast_message
* plugins/muc/muc.lib: Extra utility functions around subjectsdaurnimator2014-03-241-7/+19
|
* plugins/muc/muc.lib: Add muc-get-history event; it uses an iterator in the ↵daurnimator2014-03-241-9/+22
| | | | event object so that messages don't need to be all in memory at once
* plugins/muc/muc.lib: Add muc-broadcast-message event. Use it for saving to ↵daurnimator2014-03-241-15/+19
| | | | history
* plugins/muc/muc.lib: Better password checkdaurnimator2014-03-241-3/+3
|
* plugins/muc/muc.lib: Add muc-occupant-prejoin events; Use it for banned, ↵daurnimator2014-03-241-20/+62
| | | | | | | members-only, password, nick-conflict and lock checks This reorders some of the checks. Importantly; affiliations are checked first: this means banned users cannot try and guess passwords
* plugins/muc/muc.lib: Move password check and nick conflict check into ↵daurnimator2014-03-211-24/+18
| | | | `handle_join`
* plugins/muc/muc.lib: Additional `route_to_occupant` usagedaurnimator2014-03-201-4/+1
|
* plugins/muc/muc.lib: Remove duplicate variable; it can never be nil.daurnimator2014-03-201-6/+3
|
* plugins/muc/muc.lib: Add decline event for parity with invitedaurnimator2014-03-201-1/+6
|
* plugins/muc/muc.lib: Add route_to_occupant function to send a stanza to all ↵daurnimator2014-03-201-12/+13
| | | | occupant sessions
* plugins/muc: Have utility methods for locking the roomdaurnimator2014-03-201-7/+18
|
* plugins/muc/muc.lib: Use occupant jids when whois == "moderators"daurnimator2014-03-191-0/+3
|
* plugins/muc/muc.lib: Allow users with affiliations to invite while not in ↵daurnimator2014-03-191-1/+1
| | | | room themselves
* plugins/muc/muc.lib: Use `get_role` in `handle_admin_item_get_command`. ↵daurnimator2014-03-191-3/+1
| | | | Removed a TODO that's already done
* plugins/muc/muc.lib: Send invite out from event: removes '-prepared' from ↵daurnimator2014-03-191-3/+7
| | | | event name
* plugins/muc/muc.lib: Check role instead of current_nickdaurnimator2014-03-191-1/+2
|
* plugins/muc/muc.lib: Remove `payload` argument from `handle_mediated_*`; ↵daurnimator2014-03-191-4/+6
| | | | extract it from inside.
* plugins/muc/muc.lib: Fix wrong variable in `construct_stanza_id` blockdaurnimator2014-03-191-1/+1
|
* plugins/muc/muc.lib: Add muc-invite-prepared event; Use it for granting ↵daurnimator2014-03-191-4/+13
| | | | affiliations in members only rooms
* plugins/muc/muc.lib: Don't get same variable twice.....daurnimator2014-03-191-3/+2
|
* plugins/muc/muc.lib: Use `get_occupant_jid` method instead of indexing _jid_nickdaurnimator2014-03-191-13/+18
|
* plugins/muc/muc.lib: Fetch config via accessors instead of using `_data`daurnimator2014-03-191-6/+7
|
* plugins/muc/muc.lib: In `_route_stanza` access occupant data less oftendaurnimator2014-03-191-9/+9
|
* plugins/muc/muc.lib: Tidy up `get_filtered_presence`daurnimator2014-03-191-8/+13
|
* plugins/muc/muc.lib: Tidy up is_kickable_error: it didn't need to return the ↵daurnimator2014-03-191-25/+19
| | | | | | condition. Also removes `get_error_condition`; it was a one liner used in one place
* plugins/muc/muc.lib: Use module.host where `muc_domain` was previouslydaurnimator2014-03-191-3/+2
|
* plugins/muc/muc.lib: Remove unused methods (breaks api)daurnimator2014-03-191-72/+0
|
* plugins/muc/muc.lib: Use more modern stanza methodsdaurnimator2014-03-191-22/+11
|
* plugins/muc: Provide a reasonable default `route_stanza`daurnimator2014-03-191-1/+3
|
* plugins/muc/muc: Add 'muc-occupant-left' eventdaurnimator2014-03-181-0/+2
|
* plugins/muc/muc: Only call get_password once in invite creationdaurnimator2014-03-181-3/+4
|
* plugins/muc/muc: When there's no history; return an empty iteratordaurnimator2014-03-181-1/+1
|
* plugins/muc/muc: Support mediated declinesdaurnimator2014-03-181-0/+25
|
* plugins/muc/muc: Rename `handle_invite_to_room` to `handle_mediated_invite`; ↵daurnimator2014-03-181-5/+7
| | | | clean up logic
* plugins/muc/muc: Check for mediated invites in a smarter waydaurnimator2014-03-181-7/+11
|
* plugins/muc/muc: Add copyright for daurnimatordaurnimator2014-03-181-0/+1
|
* plugins/muc/muc.lib: Add disco iq handlers with compatible argument signaturedaurnimator2014-02-211-4/+12
|