gochatwork

package module
v0.0.0-...-0c1722f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2017 License: MIT Imports: 9 Imported by: 0

README

ChatWork API Client for Golang

ChatWork client for Golang.

Install

$ go get github.com/yoppi/go-chatwork

Usage

package main

import (
  chatwork "github.com/yoppi/go-chatwork"
)

func main() {
  chatwork := chatwork.NewClient(`api-key`)

  chatwork.Me()

  chatwork.MyStatus()

  chatwork.MyTasks(map[string]string {
    "assigned_by_account_id": "123",
    "status": "open"
  })

  ...
}

See more examples in examples directory.

Documentation

Index

Constants

View Source
const BaseUrl = `https://api.chatwork.com/v2`

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	AccountId      int    `json:"account_id"`
	Name           string `json:"name"`
	AvatarImageUrl string `json:"avatar_image_url"`
}

type AppengineClient

type AppengineClient struct {
	ApiKey  string
	BaseUrl string
	Http
	// Ctx appengine.Context
	Ctx context.Context
}

func NewAppengineClient

func NewAppengineClient(apiKey string, ctx context.Context) *AppengineClient

func (*AppengineClient) Contacts

func (c *AppengineClient) Contacts() []Contact

func (*AppengineClient) CreateRoom

func (c *AppengineClient) CreateRoom(params map[string]string) []byte

params keys

  • name
  • members_admin_ids
  • description
  • icon_preset
  • members_member_ids
  • members_readonly_ids

func (*AppengineClient) Delete

func (c *AppengineClient) Delete(endpoint string, params map[string]string) []byte

func (*AppengineClient) DeleteRoom

func (c *AppengineClient) DeleteRoom(roomId string, params map[string]string) []byte

params key

  • action_type: [leave, delete]

func (*AppengineClient) Get

func (c *AppengineClient) Get(endpoint string, params map[string]string) []byte

func (*AppengineClient) Me

func (c *AppengineClient) Me() Me

func (*AppengineClient) MyTasks

func (c *AppengineClient) MyTasks(params map[string]string) []MyTask

params keys

  • assigned_by_account_id
  • status: [open, done]

func (*AppengineClient) Post

func (c *AppengineClient) Post(endpoint string, params map[string]string) []byte

func (*AppengineClient) PostRoomMessage

func (c *AppengineClient) PostRoomMessage(roomId string, body string) []byte

func (*AppengineClient) PostRoomTask

func (c *AppengineClient) PostRoomTask(roomId string, params map[string]string) []byte

params keys

  • body
  • to_ids
  • limit

func (*AppengineClient) Put

func (c *AppengineClient) Put(endpoint string, params map[string]string) []byte

func (*AppengineClient) Room

func (c *AppengineClient) Room(roomId string) Room

func (*AppengineClient) RoomFile

func (c *AppengineClient) RoomFile(roomId, fileId string) File

func (*AppengineClient) RoomFiles

func (c *AppengineClient) RoomFiles(roomId string, params map[string]string) []File

params key

  • account_id

func (*AppengineClient) RoomMembers

func (c *AppengineClient) RoomMembers(roomId string) []Member

func (*AppengineClient) RoomMessage

func (c *AppengineClient) RoomMessage(roomId, messageId string) Message

func (*AppengineClient) RoomMessages

func (c *AppengineClient) RoomMessages(roomId string) []Message

func (*AppengineClient) RoomTask

func (c *AppengineClient) RoomTask(roomId, taskId string) Task

func (*AppengineClient) RoomTasks

func (c *AppengineClient) RoomTasks(roomId string) []Task

func (*AppengineClient) Rooms

func (c *AppengineClient) Rooms() []Room

func (*AppengineClient) UpdateRoom

func (c *AppengineClient) UpdateRoom(roomId string, params map[string]string) []byte

params keys

  • description
  • icon_preset
  • name

func (*AppengineClient) UpdateRoomMembers

func (c *AppengineClient) UpdateRoomMembers(roomId string, params map[string]string) []byte

params keys

  • members_admin_ids
  • members_member_ids
  • members_readonly_ids

type Client

type Client struct {
	ApiKey  string
	BaseUrl string
	Http
}

func NewClient

func NewClient(apiKey string) *Client

func (*Client) Contacts

func (c *Client) Contacts() []Contact

func (*Client) CreateRoom

func (c *Client) CreateRoom(params map[string]string) []byte

params keys

  • name
  • members_admin_ids
  • description
  • icon_preset
  • members_member_ids
  • members_readonly_ids

func (*Client) Delete

func (c *Client) Delete(endpoint string, params map[string]string) []byte

func (*Client) DeleteRoom

func (c *Client) DeleteRoom(roomId string, params map[string]string) []byte

params key

  • action_type: [leave, delete]

func (*Client) Get

func (c *Client) Get(endpoint string, params map[string]string) []byte

func (*Client) Me

func (c *Client) Me() Me

func (*Client) MyStatus

func (c *Client) MyStatus() Status

func (*Client) MyTasks

func (c *Client) MyTasks(params map[string]string) []MyTask

params keys

  • assigned_by_account_id
  • status: [open, done]

func (*Client) Post

func (c *Client) Post(endpoint string, params map[string]string) []byte

func (*Client) PostRoomMessage

func (c *Client) PostRoomMessage(roomId string, body string) []byte

func (*Client) PostRoomTask

func (c *Client) PostRoomTask(roomId string, params map[string]string) []byte

params keys

  • body
  • to_ids
  • limit

func (*Client) Put

func (c *Client) Put(endpoint string, params map[string]string) []byte

func (*Client) Room

func (c *Client) Room(roomId string) Room

func (*Client) RoomFile

func (c *Client) RoomFile(roomId, fileId string) File

func (*Client) RoomFiles

func (c *Client) RoomFiles(roomId string, params map[string]string) []File

params key

  • account_id

func (*Client) RoomMembers

func (c *Client) RoomMembers(roomId string) []Member

func (*Client) RoomMessage

func (c *Client) RoomMessage(roomId, messageId string) Message

func (*Client) RoomMessages

func (c *Client) RoomMessages(roomId string) []Message

func (*Client) RoomTask

func (c *Client) RoomTask(roomId, taskId string) Task

func (*Client) RoomTasks

func (c *Client) RoomTasks(roomId string) []Task

func (*Client) Rooms

func (c *Client) Rooms() []Room

func (*Client) UpdateRoom

func (c *Client) UpdateRoom(roomId string, params map[string]string) []byte

params keys

  • description
  • icon_preset
  • name

func (*Client) UpdateRoomMembers

func (c *Client) UpdateRoomMembers(roomId string, params map[string]string) []byte

params keys

  • members_admin_ids
  • members_member_ids
  • members_readonly_ids

type Contact

type Contact struct {
	AccountId        int    `json:"account_id"`
	RoomId           int    `json:"room_id"`
	Name             string `json:"name"`
	ChatworkId       string `json:"chatwork_id"`
	OrganizationId   int    `json:"organization_id"`
	OrganizationName string `json:"organization_name"`
	Department       string `json:"department"`
	AvatarImageUrl   string `json:"avatar_image_url"`
}

type File

type File struct {
	FileId     int     `json:"file_id"`
	Account    Account `json:"account"`
	MessageId  int     `json:"message_id"`
	Filename   string  `json:"filename"`
	Filesize   int     `json:"filesize"`
	UploadTime int64   `json:"upload_time"`
}

type Http

type Http interface {
	Get()
	Post()
	Put()
	Delete()
}

type Me

type Me struct {
	AccountId        int    `json:"account_id"`
	RoomId           int    `json:"room_id"`
	Name             string `json:"name"`
	ChatworkId       string `json:"chatwork_id"`
	OrganizationId   int    `json:"organization_id"`
	OrganizationName string `json:"organization_name"`
	Department       string `json:"department"`
	Title            string `json:"title"`
	Url              string `json:"url"`
	Introduction     string `json:"introduction"`
	Mail             string `json:"mail"`
	TelOrganization  string `json:"tel_organization"`
	TelExtension     string `json:"tel_extension"`
	TelMobile        string `json:"tel_mobile"`
	Skype            string `json:"skype"`
	Facebook         string `json:"facebook"`
	Twitter          string `json:"twitter"`
	AvatarImageUrl   string `json:"avatar_image_url"`
}

type Member

type Member struct {
	AccountId         int    `json:"account_id"`
	Role              string `json:"role"`
	Name              string `json:"name"`
	ChatworkId        string `json:"chatwork_id"`
	Organization_Id   int    `json:"organization_id"`
	Organization_Name string `json:"organization_name"`
	Department        string `json:"department"`
	AvatarImageUrl    string `json:"avatar_image_url"`
}

type Message

type Message struct {
	MessageId  int     `json:"message_id"`
	Account    Account `json:"account"`
	Body       string  `json:"body"`
	SendTime   int64   `json:"send_time"`
	UpdateTime int64   `json:"update_time"`
}

type MyTask

type MyTask struct {
	Task
	Room struct {
		Roomid   int    `json:"room_id"`
		Name     string `json:"name"`
		IconPath string `json:"icon_path"`
	}
}

type Room

type Room struct {
	RoomId         int    `json:"room_id"`
	Name           string `json:"name"`
	Type           string `json:"type"`
	Role           string `json:"role"`
	Sticky         bool   `json:"sticky"`
	UnreadNum      int    `json:"unread_num"`
	MentionNum     int    `json:"mention_num"`
	MytaskNum      int    `json:"mytask_num"`
	MessageNum     int    `json:"message_num"`
	FileNum        int    `json:"file_num"`
	TaskNum        int    `json:"task_num"`
	IconPath       string `json:"icon_path"`
	LastUpdateTime int64  `json:"last_update_time"`
}

type Status

type Status struct {
	UnreadRoomNum  int `json:"unread_room_num"`
	MentionRoomNum int `json:"mention_room_num"`
	MytaskRoomNum  int `json:"mytask_room_num"`
	UnreadNum      int `json:"unread_num"`
	MentionNum     int `json:"mention_num"`
	MyTaskNum      int `json:"mytask_num"`
}

type Task

type Task struct {
	TaskId            int     `json:"task_id"`
	Account           Account `json:"account"`
	AssignedByAccount Account `json:"assigned_by_account"`
	MessageId         int     `json:"message_id"`
	Body              string  `json:"body"`
	LimitTime         int64   `json:"limit_time"`
	Status            string  `json:"status"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL