forked from jshiffer/go-xmpp
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package xmpp
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"runtime"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| func (c *Client) SendVersion(id, toServer, fromU string) error {
 | |
| 	_, err := fmt.Fprintf(c.conn, "<iq type='result' from='%s' to='%s'"+
 | |
| 		" id='%s'>", xmlEscape(fromU), xmlEscape(toServer), xmlEscape(id))
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 	_, err = fmt.Fprintf(c.conn, "<query xmlns='jabber:iq:version'>"+
 | |
| 		"<name>go-xmpp</name><version>0.1</version><os>%s</os>"+
 | |
| 		"</query>\n</iq>", runtime.GOOS)
 | |
| 	return err
 | |
| }
 | |
| 
 | |
| func (c *Client) SendIQLast(id, toServer, fromU string) error {
 | |
| 	ss := fmt.Sprintf("<iq type='result' from='%s' to='%s'"+
 | |
| 		" id='%s'>\n", xmlEscape(fromU), xmlEscape(toServer), xmlEscape(id))
 | |
| 	tt := time.Now().Sub(c.loginTime)
 | |
| 	ss += fmt.Sprintf("<query xmlns='jabber:iq:last' "+
 | |
| 		"seconds='%d'>Working</query>\n</iq>", int(tt.Seconds()))
 | |
| 	_, err := fmt.Fprint(c.conn, ss)
 | |
| 	return err
 | |
| }
 | |
| 
 | |
| func (c *Client) SendIQtime(id, toServer, fromU string) error {
 | |
| 	ss := fmt.Sprintf("<iq type='result' from='%s' to='%s'"+
 | |
| 		" id='%s'>\n", xmlEscape(fromU), xmlEscape(toServer), xmlEscape(id))
 | |
| 	tt := time.Now()
 | |
| 	zoneN, _ := tt.Zone()
 | |
| 	ss += fmt.Sprintf("<time xmlns='urn:xmpp:time'>\n<tzo>%s</tzo>"+
 | |
| 		"<utc>%s</utc></time>\n</iq>", zoneN,
 | |
| 		tt.UTC().Format("2006-01-02T15:03:04Z"))
 | |
| 	_, err := fmt.Fprint(c.conn, ss)
 | |
| 	return err
 | |
| }
 | 
