36 Commits

Author SHA1 Message Date
themester
229c2d793d Adapted my repo to shazow. Changes...
- Added new rank: Administators (or masters). This rank can add or delete operators, but cannot add or remove another administrators. Administrators rank is designed by public key on server startup.
- Added "vim mode". With this mode you can use commands as ':' instead of '/'. As you can see in the code, the Prefix parameter of Command structure was changed by a neutral parameter for future introductions of prefixes.
- New Help function. This function add help for admin rank.
- Added the following commands:
  - setnick: Administrators can change the nick of another user.
  - private: Users can stablish privates conversations. This conversations are permanent until they execute endprivate command.
  - endprivate: Finish private conversation.
  - welcome: Prints motd. Only admins can execute this.
  - whois: In whois only admins can see ip.
  - delop: Allow admins to delete an operator (or moderator as is mentioned in some parts of the code).
- Changed historyLen and roomBuffer vars.
- In cmd tool have been added fsnotify to update public key files (admin and moderator public key files). This is to prevent to restart the server everytime we want to add an administrator.
- Added new prompt mode. In this mode you can see in which room you are talking. As default is 'general'. If you start private conversation the room will be the name of the another user. This part has been introduced for future implementations.
- As I said before now exists private conversations (unlike msg command).
2018-01-12 20:04:39 +01:00
Steven L
206a9073f0 Colorize /name output with selected theme (#249)
* command.go: colorizing names according to theme (#205)

* Adding safety check for nil and mono

* Refactoring coloring into a function
2017-10-04 13:20:01 -04:00
Oliver Graff
a631215f5b /nick: Avoid announcing when it's the same nick (#237)
Fixes #234
2017-06-13 11:12:32 -04:00
Steven L
227dad7492 command.go: modifying Theme command to show all available themes (#232)
command.go: modifying Theme command to show all available themes
2017-05-07 17:48:08 -04:00
Andrey Petrov
cdcc4a9931 refactor: User.Config -> User.Config() and User.SetConfig(UserConfig) 2016-08-29 10:11:39 -04:00
Andrey Petrov
33d7d26a17 chat/message: Remove User.Ignore(...) and User.Unignore(...)
Also changes some messaging
2016-08-27 15:15:07 -04:00
Andrey Petrov
d950112dd9 refactor: Id -> ID 2016-08-24 13:54:20 -04:00
Andrey Petrov
0fcc076c74 set: Switch to a common set implementation 2016-08-24 13:54:20 -04:00
Andrey Petrov
981376f018 /help: Improve help for /ignore and /theme 2016-08-16 10:19:47 -04:00
Andrey Petrov
92d821387b chat/message/theme: Apply PM colors, add new themes to /help, cleanup.
Fixes #191.
2016-08-11 15:09:59 -04:00
Federico Ruggi
58e1cb60bd commands: /ignore, /unignore
#154
* Add `/ignore`/`/unignore` commands
* Move set to common package, use set for ignores
* `chat/set.go` is now `common/set.go`
* use `*IdSet` as type for ignored list for users
* remove `IsIgnoring` and `IgnoredNames` user functions, so to use directly `IdSet` methods
* refactor code accordingly
2016-08-01 11:19:12 -04:00
Matt Day
0ab31046c0 Fix go vet nitpicks.
Fixes #130:
* pass by reference into AllowAnonymous
* check return value of From() rather than value of From function
2015-08-20 04:28:52 -06:00
Andrey Petrov
c2adb4d632 ssh-chat/chat/{message,user,theme,history} -> ssh-chat/chat/message 2015-01-20 16:33:52 -08:00
Andrey Petrov
9335a2139b Sanitize names on join and /nick. 2015-01-20 14:13:59 -08:00
Andrey Petrov
6c83bcb06a Rename fix. 2015-01-18 20:16:08 -08:00
Andrey Petrov
76bfdeeb70 /slap 2015-01-18 20:07:21 -08:00
Andrey Petrov
84df305ddf /op with pubkey. 2015-01-18 20:03:08 -08:00
Andrey Petrov
0c21486992 History backfill, also tests pass. 2015-01-18 18:55:47 -08:00
Andrey Petrov
544c9789c0 /reply command with autocomplete. 2015-01-18 18:11:30 -08:00
Andrey Petrov
3c4e6994c2 chat.Channel->chat.Room, /ban, /whois, chat.User.Identifier
- Renamed chat.Channel -> chat.Room
- /ban works, supports IP also
- /whois works
- chat.User now accepts an Identifier interface rather than name
- Tweaked rate limiting
2015-01-16 21:53:22 -08:00
Andrey Petrov
e626eab624 /kick and /msg 2015-01-10 18:05:31 -08:00
Nick Presta
a2ee2000bb Adding impl for quiet mode with tests. 2015-01-03 01:52:11 -05:00
Andrey Petrov
4dd80fb822 Tests pass. 2015-01-01 18:51:34 -08:00
Andrey Petrov
6a662bf358 Channel Member now wrapping User with metadata, new Auth struct. 2015-01-01 18:40:10 -08:00
Andrey Petrov
6874601c0b Op command support, and /op 2015-01-01 17:09:08 -08:00
Andrey Petrov
3b5f4faf76 Padded help output, because why not. 2015-01-01 16:17:58 -08:00
Andrey Petrov
fb7cd83821 CommandHandler func -> Command struct 2015-01-01 15:37:28 -08:00
Andrey Petrov
6f7410c7a0 Making a dent in golint: 94 -> 70 2014-12-26 17:59:29 -08:00
Andrey Petrov
4c5dff7960 Themes are working, and /theme command. 2014-12-26 17:40:57 -08:00
Andrey Petrov
f3a4045ed9 Added /nick, /names 2014-12-26 16:05:04 -08:00
Andrey Petrov
b40136c3e1 Added /nick and /exit commands. 2014-12-26 14:34:13 -08:00
Andrey Petrov
325f8921da /me works now, with test. 2014-12-26 12:26:53 -08:00
Andrey Petrov
5dad20d241 close once, handleMsg api consistency. 2014-12-26 12:11:03 -08:00
Andrey Petrov
dac5cfbb5e Split up message types, added exit codes, basic command handling. 2014-12-25 16:25:02 -08:00
Andrey Petrov
eda2b7c0d9 Super broken but kinda working. 2014-12-22 22:21:07 -08:00
Andrey Petrov
1652511bf2 Progress, most of this probably doesnt work. 2014-12-20 20:21:41 -08:00