本文整理汇总了Golang中github.com/igungor/tlbot.Bot类的典型用法代码示例。如果您正苦于以下问题:Golang Bot类的具体用法?Golang Bot怎么用?Golang Bot使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Bot类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: runPrayerCall
func runPrayerCall(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
loc, _ := time.LoadLocation(timezone)
now := time.Now().In(loc)
nowstr := now.Format(timeFormat)
timepair, ok := callTime[nowstr]
var txt string
switch {
case !ok:
txt = "galiba oruç bitti"
case now.After(timepair.iftar):
txt = "okundu"
case now.After(timepair.sahur) && now.Hour() < 6:
txt = "sahur okundu ama iftara daha çok var"
case now.Before(timepair.sahur):
txt = "sahur henüz okunmadı"
default:
// after sahur and before iftar, hence NO
txt = randChoice(noes)
}
_, err := b.SendMessage(msg.Chat.ID, txt, nil)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:28,代码来源:ramadan.go
示例2: runRayRay
func runRayRay(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
_, err := b.SendMessage(msg.Chat.ID, "malifalitiko!", nil)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:7,代码来源:rayraykasim.go
示例3: runToday
func runToday(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
txt := fmt.Sprintf("bugün %v", weekday(time.Now().Weekday()).String())
_, err := b.SendMessage(msg.Chat.ID, txt, nil)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
}
}
开发者ID:igungor,项目名称:ilber,代码行数:7,代码来源:today.go
示例4: runEcho
func runEcho(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
if len(args) == 0 {
args = []string{"çok cahilsin"}
}
txt := fmt.Sprintf("*%v*", strings.Join(args, " "))
_, err := b.SendMessage(msg.Chat.ID, txt, nil)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:12,代码来源:echo.go
示例5: runForecast
func runForecast(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
var location string
if len(args) == 0 {
location = defaultCity
} else {
location = strings.Join(args, " ")
}
u, err := url.Parse(forecastURL)
if err != nil {
log.Printf("Error while parsing URL '%v'. Err: %v", forecastURL, err)
return
}
forecastAPIKey := ctx.Value("openWeatherMapAppID").(string)
params := u.Query()
params.Set("units", "metric")
params.Set("APPID", forecastAPIKey)
params.Set("q", location)
u.RawQuery = params.Encode()
resp, err := http.Get(u.String())
if err != nil {
log.Printf("Error while fetching forecast for location '%v'. Err: %v\n", location, err)
return
}
defer resp.Body.Close()
var forecast Forecast
if err := json.NewDecoder(resp.Body).Decode(&forecast); err != nil {
log.Printf("Error while decoding response: %v\n", err)
return
}
txt := forecast.String()
if txt == "" {
txt = fmt.Sprintf("%v bulunamadı.", location)
}
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeMarkdown}
_, err = b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:47,代码来源:forecast.go
示例6: runMovies
func runMovies(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
movies, err := fetchOrCache()
if err != nil {
log.Printf("Error while fetching movies: %v\n", err)
return
}
var buf bytes.Buffer
buf.WriteString(" 🎬 İstanbul'da vizyon filmleri\n")
for _, movie := range movies {
buf.WriteString(fmt.Sprintf("🔸 %v\n", movie))
}
_, err = b.SendMessage(msg.Chat.ID, buf.String(), nil)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:19,代码来源:movies.go
示例7: runMe
func runMe(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
if len(args) == 0 {
args = []string{"hmmmmm"}
}
user := msg.From.FirstName
if user == "" {
user = msg.From.Username
}
txt := fmt.Sprintf("`* %v %v`", user, strings.Join(args, " "))
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeMarkdown}
_, err := b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:19,代码来源:me.go
示例8: runCandle
func runCandle(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
const timeformat = "2 Jan 2006"
loc, _ := time.LoadLocation("Europe/Istanbul")
now := time.Now().In(loc).Format(timeformat)
var txt string
v, ok := dasCandles[now]
if !ok {
txt = "hayır"
} else {
txt = fmt.Sprintf("Evet, bugün *%v*\n", v)
}
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeMarkdown}
_, err := b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:19,代码来源:candle.go
示例9: runFoodDawn
func runFoodDawn(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
loc, _ := time.LoadLocation(timezone)
now := time.Now().In(loc)
nowstr := now.Format(timeFormat)
timepair, ok := callTime[nowstr]
var txt string
if ok {
txt = timepair.sahur.Format("15:04")
} else {
txt = "galiba oruç bitti"
}
_, err := b.SendMessage(msg.Chat.ID, txt, nil)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:20,代码来源:ramadan.go
示例10: runHoliday
func runHoliday(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
now := time.Now().UTC()
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeMarkdown}
for _, t := range holidays {
if in(now, t.date, t.date.Add(t.duration)) {
_, err := b.SendMessage(msg.Chat.ID, fmt.Sprintf("Bugün %v", t.name), opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
}
return
}
if now.Before(t.date) {
txt := fmt.Sprintf("En yakın tatil *%v* - %v (*%v* gün)", t.date.Format("_2/01/2006"), t.name, t.duration.Hours()/24)
_, err := b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
}
return
}
}
_, err := b.SendMessage(msg.Chat.ID, "yakın zamanda tatil görünmüyor :(", opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:29,代码来源:holiday.go
示例11: runMovie
func runMovie(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
opts := &tlbot.SendOptions{}
if len(args) == 0 {
term := randChoice(movieExamples)
txt := fmt.Sprintf("hangi filmi arıyorsun? örneğin: */imdb %s*", term)
opts.ParseMode = tlbot.ModeMarkdown
_, err := b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
}
return
}
googleAPIKey := ctx.Value("googleAPIKey").(string)
searchEngineID := ctx.Value("googleSearchEngineID").(string)
// the best search engine is still google.
// i've tried imdb, themoviedb, rottentomatoes, omdbapi.
// themoviedb search engine was the most accurate yet still can't find any
// result if any release date is given in query terms.
urls, err := search(googleAPIKey, searchEngineID, "", args...)
if err != nil {
log.Printf("Error searching %v: %v\n", args, err)
if err == errSearchQuotaExceeded {
_, _ = b.SendMessage(msg.Chat.ID, `¯\_(ツ)_/¯`, opts)
}
return
}
for _, url := range urls {
if strings.Contains(url, "imdb.com/title/tt") {
_, err := b.SendMessage(msg.Chat.ID, url, opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
}
return
}
}
opts.ParseMode = tlbot.ModeMarkdown
_, err = b.SendMessage(msg.Chat.ID, "aradığın filmi bulamadım 🙈", opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:47,代码来源:movie.go
示例12: runLocation
func runLocation(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
if len(args) == 0 {
_, err := b.SendMessage(msg.Chat.ID, "nerenin konumunu arayayım?", nil)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
}
return
}
u, err := url.Parse(mapBaseURL)
if err != nil {
log.Fatal(err)
}
googleAPIKey := ctx.Value("googleAPIKey").(string)
place := strings.Join(args, " ")
params := u.Query()
params.Set("key", googleAPIKey)
params.Set("query", place)
u.RawQuery = params.Encode()
resp, err := httpclient.Get(u.String())
if err != nil {
log.Printf("Error searching place '%v'. Err: %v\n", place, err)
return
}
defer resp.Body.Close()
var places placesResponse
if err := json.NewDecoder(resp.Body).Decode(&places); err != nil {
log.Printf("Error decoding response. Err: %v\n", err)
return
}
if resp.StatusCode != http.StatusOK {
log.Printf("Error searching place '%v'. Status: %v\n", place, places.Status)
return
}
if len(places.Results) == 0 {
_, err = b.SendMessage(msg.Chat.ID, "bulamadim", nil)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
}
return
}
firstPlace := places.Results[0]
location := tlbot.Location{
Lat: firstPlace.Geometry.Location.Lat,
Long: firstPlace.Geometry.Location.Long,
}
_, err = b.SendLocation(msg.Chat.ID, location, nil)
if err != nil {
log.Printf("Error sending location: %v\n", err)
}
}
开发者ID:igungor,项目名称:ilber,代码行数:56,代码来源:location.go
示例13: runWiki
func runWiki(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeMarkdown}
if len(args) == 0 {
txt := "neye referans vereyim? mesela bana bakın: */bkz İlber Ortaylı*"
_, err := b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
}
return
}
googleAPIKey := ctx.Value("googleAPIKey").(string)
searchEngineID := ctx.Value("googleSearchEngineID").(string)
terms := []string{"wikipedia"}
terms = append(terms, args...)
urls, err := search(googleAPIKey, searchEngineID, "", terms...)
if err != nil {
log.Printf("Error while 'bkz' query. Err: %v\n", err)
if err == errSearchQuotaExceeded {
b.SendMessage(msg.Chat.ID, `¯\_(ツ)_/¯`, nil)
}
return
}
for _, articleURL := range urls {
if strings.Contains(articleURL, "wikipedia.org/wiki/") {
_, err = b.SendMessage(msg.Chat.ID, articleURL, nil)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
return
}
}
_, err = b.SendMessage(msg.Chat.ID, "aradığın referansı bulamadım 🙈", opts)
if err != nil {
log.Printf("Error while sending message. Err: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:44,代码来源:wiki.go
示例14: runYo
func runYo(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeMarkdown}
if len(args) == 0 {
term := randChoice(yoExamples)
txt := fmt.Sprintf("hangi karikatürü arıyorsun? örneğin: */yo %s*", term)
_, err := b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
}
return
}
googleAPIKey := ctx.Value("googleAPIKey").(string)
searchEngineID := ctx.Value("googleSearchEngineID").(string)
terms := []string{"Yiğit", "Özgür"}
terms = append(terms, args...)
u, err := search(googleAPIKey, searchEngineID, "image", terms...)
if err != nil {
log.Printf("Error while searching image with given criteria: %v. Err: %v\n", args, err)
if err == errSearchQuotaExceeded {
_, _ = b.SendMessage(msg.Chat.ID, `¯\_(ツ)_/¯`, nil)
}
return
}
photo := tlbot.Photo{
File: tlbot.File{
URL: u[0],
},
}
_, err = b.SendPhoto(msg.Chat.ID, photo, nil)
if err != nil {
log.Printf("Error while sending image: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:38,代码来源:yo.go
示例15: runImg
func runImg(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeNone}
if len(args) == 0 {
term := randChoice(imgExamples)
txt := fmt.Sprintf("ne resmi aramak istiyorsun? örneğin: */img %s*", term)
_, err := b.SendMessage(msg.Chat.ID, txt, opts)
if err != nil {
log.Printf("Error while sending message: %v\n", err)
}
return
}
googleAPIKey := ctx.Value("googleAPIKey").(string)
searchEngineID := ctx.Value("googleSearchEngineID").(string)
urls, err := search(googleAPIKey, searchEngineID, "image", args...)
if err != nil {
log.Printf("Error while searching image. Err: %v\n", err)
if err == errSearchQuotaExceeded {
_, _ = b.SendMessage(msg.Chat.ID, `¯\_(ツ)_/¯`, nil)
}
return
}
photo := tlbot.Photo{
File: tlbot.File{
URL: urls[0],
},
}
_, err = b.SendPhoto(msg.Chat.ID, photo, nil)
if err != nil {
log.Printf("Error while sending photo: %v\n", err)
return
}
}
开发者ID:igungor,项目名称:ilber,代码行数:37,代码来源:img.go
示例16: runHelp
func runHelp(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
_, _ = b.SendMessage(msg.Chat.ID, help(), nil)
}
开发者ID:igungor,项目名称:ilber,代码行数:3,代码来源:help.go
示例17: runArxiv
func runArxiv(ctx context.Context, b *tlbot.Bot, msg *tlbot.Message) {
args := msg.Args()
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeNone}
if len(args) == 0 {
opts := &tlbot.SendOptions{ParseMode: tlbot.ModeMarkdown}
_, err := b.SendMessage(msg.Chat.ID, "boş geçmeyelim
|
请发表评论