mirror of
				https://github.com/ergochat/ergo.git
				synced 2025-10-31 22:07:23 +01:00 
			
		
		
		
	Support bot mode +B
This commit is contained in:
		
							parent
							
								
									7f06f25c15
								
							
						
					
					
						commit
						3b3c1c733a
					
				| @ -96,6 +96,7 @@ func (modes Modes) String() string { | ||||
| // User Modes | ||||
| const ( | ||||
| 	Away            Mode = 'a' | ||||
| 	Bot             Mode = 'B' | ||||
| 	Invisible       Mode = 'i' | ||||
| 	LocalOperator   Mode = 'O' | ||||
| 	Operator        Mode = 'o' | ||||
| @ -110,7 +111,7 @@ const ( | ||||
| var ( | ||||
| 	// SupportedUserModes are the user modes that we actually support (modifying). | ||||
| 	SupportedUserModes = Modes{ | ||||
| 		Away, Invisible, Operator, RegisteredOnly, ServerNotice, UserRoleplaying, | ||||
| 		Away, Bot, Invisible, Operator, RegisteredOnly, ServerNotice, UserRoleplaying, | ||||
| 	} | ||||
| 	// supportedUserModesString acts as a cache for when we introduce users | ||||
| 	supportedUserModesString = SupportedUserModes.String() | ||||
| @ -276,7 +277,7 @@ func (client *Client) applyUserModeChanges(force bool, changes ModeChanges) Mode | ||||
| 
 | ||||
| 	for _, change := range changes { | ||||
| 		switch change.mode { | ||||
| 		case Invisible, WallOps, UserRoleplaying, Operator, LocalOperator, RegisteredOnly: | ||||
| 		case Bot, Invisible, WallOps, UserRoleplaying, Operator, LocalOperator, RegisteredOnly: | ||||
| 			switch change.op { | ||||
| 			case Add: | ||||
| 				if !force && (change.mode == Operator || change.mode == LocalOperator) { | ||||
|  | ||||
| @ -72,6 +72,7 @@ const ( | ||||
| 	RPL_NOTOPIC                     = "331" | ||||
| 	RPL_TOPIC                       = "332" | ||||
| 	RPL_TOPICTIME                   = "333" | ||||
| 	RPL_WHOISBOT                    = "335" | ||||
| 	RPL_WHOISACTUALLY               = "338" | ||||
| 	RPL_INVITING                    = "341" | ||||
| 	RPL_SUMMONING                   = "342" | ||||
|  | ||||
| @ -988,6 +988,9 @@ func (client *Client) getWhoisOf(target *Client) { | ||||
| 	if target.flags[TLS] { | ||||
| 		client.Send(nil, client.server.name, RPL_WHOISSECURE, client.nick, target.nick, "is using a secure connection") | ||||
| 	} | ||||
| 	if target.flags[Bot] { | ||||
| 		client.Send(nil, client.server.name, RPL_WHOISBOT, client.nick, target.nick, ircfmt.Unescape("is a $bBot$b on ")+client.server.networkName) | ||||
| 	} | ||||
| 	if target.certfp != "" && (client.flags[Operator] || client == target) { | ||||
| 		client.Send(nil, client.server.name, RPL_WHOISCERTFP, client.nick, target.nick, fmt.Sprintf("has client certificate fingerprint %s", target.certfp)) | ||||
| 	} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Daniel Oaks
						Daniel Oaks