Add emoji support
This commit is contained in:
parent
63dd6b79c7
commit
dfc3b5f2ba
5 changed files with 26 additions and 11 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,3 +6,4 @@ clessy-stats
|
||||||
clessy-stats-import
|
clessy-stats-import
|
||||||
stats-web/Chart.bundle.js
|
stats-web/Chart.bundle.js
|
||||||
impact.ttf
|
impact.ttf
|
||||||
|
noto_emojis
|
13
mods/main.go
13
mods/main.go
|
@ -8,6 +8,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"git.fromouter.space/crunchy-rocks/emoji"
|
||||||
"git.fromouter.space/hamcha/tg"
|
"git.fromouter.space/hamcha/tg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -155,6 +156,7 @@ var gapifile *string
|
||||||
var gapikey *string
|
var gapikey *string
|
||||||
var gapiCtx context.Context
|
var gapiCtx context.Context
|
||||||
var oropath *string
|
var oropath *string
|
||||||
|
var emojis emoji.Table
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
brokerAddr := flag.String("broker", "localhost:7314", "Broker address:port")
|
brokerAddr := flag.String("broker", "localhost:7314", "Broker address:port")
|
||||||
|
@ -172,10 +174,20 @@ func main() {
|
||||||
oropath = flag.String("oropath", "/astri", "Path to oroscopo corpus directory")
|
oropath = flag.String("oropath", "/astri", "Path to oroscopo corpus directory")
|
||||||
disable := flag.String("disable", "", "Blacklist mods (separated by comma)")
|
disable := flag.String("disable", "", "Blacklist mods (separated by comma)")
|
||||||
enable := flag.String("enable", "", "Whitelist mods (separated by comma)")
|
enable := flag.String("enable", "", "Whitelist mods (separated by comma)")
|
||||||
|
emojipath := flag.String("emojis", "noto_emojis", "Path to emoji directory")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
gapiCtx = context.Background()
|
gapiCtx = context.Background()
|
||||||
|
|
||||||
|
log.Println("[x-emoji] Loading emojis...")
|
||||||
|
emojis, err := emoji.ScanEmojiDirectory(*emojipath)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[x-emoji] Error while loading emojis: %s\n", err.Error())
|
||||||
|
log.Println("[x-emoji] Emoji support will be disabled")
|
||||||
|
} else {
|
||||||
|
log.Printf("[x-emoji] Loaded %d emojis\n", len(emojis))
|
||||||
|
}
|
||||||
|
|
||||||
if *disable != "" {
|
if *disable != "" {
|
||||||
for _, modname := range strings.Split(*disable, ",") {
|
for _, modname := range strings.Split(*disable, ",") {
|
||||||
modname = strings.TrimSpace(modname)
|
modname = strings.TrimSpace(modname)
|
||||||
|
@ -193,7 +205,6 @@ func main() {
|
||||||
|
|
||||||
initmods()
|
initmods()
|
||||||
|
|
||||||
var err error
|
|
||||||
broker, err = tg.ConnectToBroker(*brokerAddr)
|
broker, err = tg.ConnectToBroker(*brokerAddr)
|
||||||
assert(err)
|
assert(err)
|
||||||
defer broker.Close()
|
defer broker.Close()
|
||||||
|
|
|
@ -12,10 +12,10 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"git.fromouter.space/crunchy-rocks/draw2d"
|
||||||
|
"git.fromouter.space/crunchy-rocks/draw2d/draw2dimg"
|
||||||
|
"git.fromouter.space/crunchy-rocks/freetype"
|
||||||
"git.fromouter.space/hamcha/tg"
|
"git.fromouter.space/hamcha/tg"
|
||||||
"github.com/golang/freetype"
|
|
||||||
"github.com/llgcode/draw2d"
|
|
||||||
"github.com/llgcode/draw2d/draw2dimg"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var memeFontData draw2d.FontData
|
var memeFontData draw2d.FontData
|
||||||
|
@ -97,6 +97,7 @@ func meme_message(broker *tg.Broker, update tg.APIMessage) {
|
||||||
|
|
||||||
timg := image.NewRGBA(bounds)
|
timg := image.NewRGBA(bounds)
|
||||||
gc := draw2dimg.NewGraphicContext(timg)
|
gc := draw2dimg.NewGraphicContext(timg)
|
||||||
|
gc.Emojis = emojis
|
||||||
gc.SetStrokeColor(image.Black)
|
gc.SetStrokeColor(image.Black)
|
||||||
gc.SetFillColor(image.White)
|
gc.SetFillColor(image.White)
|
||||||
gc.SetFontData(memeFontData)
|
gc.SetFontData(memeFontData)
|
||||||
|
|
|
@ -17,10 +17,10 @@ import (
|
||||||
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"git.fromouter.space/crunchy-rocks/draw2d"
|
||||||
|
"git.fromouter.space/crunchy-rocks/draw2d/draw2dimg"
|
||||||
|
"git.fromouter.space/crunchy-rocks/freetype"
|
||||||
"git.fromouter.space/hamcha/tg"
|
"git.fromouter.space/hamcha/tg"
|
||||||
"github.com/golang/freetype"
|
|
||||||
"github.com/llgcode/draw2d"
|
|
||||||
"github.com/llgcode/draw2d/draw2dimg"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var snapFontData draw2d.FontData
|
var snapFontData draw2d.FontData
|
||||||
|
@ -100,6 +100,7 @@ func snapchat_message(broker *tg.Broker, update tg.APIMessage) {
|
||||||
|
|
||||||
timg := image.NewRGBA(image.Rect(0, 0, int(iwidth), int(iheight)))
|
timg := image.NewRGBA(image.Rect(0, 0, int(iwidth), int(iheight)))
|
||||||
gc := draw2dimg.NewGraphicContext(timg)
|
gc := draw2dimg.NewGraphicContext(timg)
|
||||||
|
gc.Emojis = emojis
|
||||||
gc.SetFontData(snapFontData)
|
gc.SetFontData(snapFontData)
|
||||||
|
|
||||||
gc.Save()
|
gc.Save()
|
||||||
|
|
|
@ -12,10 +12,10 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"git.fromouter.space/crunchy-rocks/draw2d"
|
||||||
|
"git.fromouter.space/crunchy-rocks/draw2d/draw2dimg"
|
||||||
|
"git.fromouter.space/crunchy-rocks/freetype"
|
||||||
"git.fromouter.space/hamcha/tg"
|
"git.fromouter.space/hamcha/tg"
|
||||||
"github.com/golang/freetype"
|
|
||||||
"github.com/llgcode/draw2d"
|
|
||||||
"github.com/llgcode/draw2d/draw2dimg"
|
|
||||||
|
|
||||||
"github.com/disintegration/imaging"
|
"github.com/disintegration/imaging"
|
||||||
)
|
)
|
||||||
|
@ -120,6 +120,7 @@ func unsplash_message(broker *tg.Broker, update tg.APIMessage) {
|
||||||
|
|
||||||
timg := image.NewRGBA(bounds)
|
timg := image.NewRGBA(bounds)
|
||||||
gc := draw2dimg.NewGraphicContext(timg)
|
gc := draw2dimg.NewGraphicContext(timg)
|
||||||
|
gc.Emojis = emojis
|
||||||
gc.SetFontData(quoteFontData)
|
gc.SetFontData(quoteFontData)
|
||||||
gc.DrawImage(img)
|
gc.DrawImage(img)
|
||||||
gc.SetStrokeColor(image.Black)
|
gc.SetStrokeColor(image.Black)
|
||||||
|
|
Reference in a new issue