func (s *Service) Commands(client types.MatrixClient) []types.Command {
	return []types.Command{
		{
			Path: []string{"wikipedia"},
			Command: func(roomID id.RoomID, userID id.UserID, args []string) (interface{}, error) {
				return s.cmdWikipediaSearch(client, roomID, userID, args)
			},
		},
	}
}
Commands supported:
!wikipedia some_search_query_without_quotes
Responds with a suitable article extract and link to the referenced page into the same room as the command.
package wikipedia
import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"strings"
	"github.com/jaytaylor/html2text"
	"github.com/matrix-org/go-neb/types"
	log "github.com/sirupsen/logrus"
	mevt "maunium.net/go/mautrix/event"
	"maunium.net/go/mautrix/id"
)
const ServiceType = "wikipedia"
const maxExtractLength = 1024  
var httpClient = &http.Client{}
type wikipediaSearchResults struct {
	Query wikipediaQuery `json:"query"`  
}
type wikipediaQuery struct {
	Pages map[string]wikipediaPage `json:"pages"`  
}
type wikipediaPage struct {
	PageID    int64  `json:"pageid"`     
	NS        int    `json:"ns"`         
	Title     string `json:"title"`      
	Touched   string `json:"touched"`    
	LastRevID int64  `json:"lastrevid"`  
	Extract   string `json:"extract"`    
}
type Service struct {
	types.DefaultService
}