Browse Source

Merge c936b8482c into 8b577f6875

pull/276/merge
Will Pine 6 years ago
committed by GitHub
parent
commit
8e2b19444d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      config.sample.yaml
  2. 26
      src/github.com/matrix-org/go-neb/services/giphy/giphy.go

2
config.sample.yaml

@ -67,7 +67,7 @@ services:
UserID: "@goneb:localhost" # requires a Syncing client
Config:
api_key: "qwg4672vsuyfsfe"
use_downsized: false
image_type: 0
- ID: "guggy_service"
Type: "guggy"

26
src/github.com/matrix-org/go-neb/services/giphy/giphy.go

@ -28,8 +28,10 @@ type image struct {
type result struct {
Slug string `json:"slug"`
Images struct {
Downsized image `json:"downsized"`
Original image `json:"original"`
Original image `json:"original"`
DownsampledFixedHeight image `json:"fixed_height_downsampled"`
DownsampledFixedWidth image `json:"fixed_width_downsampled"`
Downsized image `json:"downsized"`
} `json:"images"`
}
@ -42,17 +44,19 @@ type giphySearch struct {
// Example request:
// {
// "api_key": "dc6zaTOxFJmzC",
// "use_downsized": false
// "image_type": 0
// }
type Service struct {
types.DefaultService
// The Giphy API key to use when making HTTP requests to Giphy.
// The public beta API key is "dc6zaTOxFJmzC".
APIKey string `json:"api_key"`
// Whether to use the downsized image from Giphy.
// Uses the original image when set to false.
// Defaults to false.
UseDownsized bool `json:"use_downsized"`
// Specifies whether to use downsampled/downsized image from Giphy.
// 0 indicates original image (defaults to this)
// 1 for downsized images
// 2 for fixed height downsampled, 3 for fixed width downsampled images
ImageType int `json:"image_type"`
}
// Commands supported:
@ -78,9 +82,13 @@ func (s *Service) cmdGiphy(client *gomatrix.Client, roomID, userID string, args
}
image := gifResult.Images.Original
if s.UseDownsized {
switch s.ImageType {
case 1:
image = gifResult.Images.DownsampledFixedHeight
case 2:
image = gifResult.Images.DownsampledFixedWidth
case 3:
image = gifResult.Images.Downsized
}
if image.URL == "" {
return nil, fmt.Errorf("No results")

Loading…
Cancel
Save