1. 程式人生 > >用 Go 語言實現一個 telegram 的 bot

用 Go 語言實現一個 telegram 的 bot

嘗試

用 Go 語言做了一個 telegram 的 bot . 用來簡單實現對話(復讀)。

 

獲得 telegram bot token

和 BotFather 交談即可

中途需要設定一下名字和查詢路徑

image.png

 

go get

首先獲取 api 包

go get -u github.com/go-telegram-bot-api/telegram-bot-api

 

code

package main

import (
  "log"
  "os"

  "github.com/go-telegram-bot-api/telegram-bot-api"
)

func main() {
    bot, err := tgbotapi.NewBotAPI(os.Getenv("TELEGRAM_APITOKEN"))
  if err != nil {
    log.Panic(err)
  }

  bot.Debug = true

  log.Printf("Authorized on account %s", bot.Self.UserName)

  u := tgbotapi.NewUpdate(0)
  u.Timeout = 60

  updates, err := bot.GetUpdatesChan(u)

  for update := range updates {
    if update.Message == nil { // ignore any non-Message Updates
      continue
    }

    msg := tgbotapi.NewMessage(update.Message.Chat.ID, update.Message.Text)
    msg.ReplyToMessageID = update.Message.MessageID

    if _, err := bot.Send(msg); err != nil {
      og.Panic(err)
    }
  }
}

 

Run

注意 終端需要能訪問 telegram 的 API

image.png

 

效果

image.png

相關推薦

Go 語言實現一個 telegrambot

嘗試 用 Go 語言做了一個 telegram 的 bot . 用來簡單實現對話(復讀)。   獲得 tele

windows下Go語言實現一個hello world

1,下載go編譯器———go編譯器下載地址https://golang.org/dl/ go編譯器下載地址 2,然後點選進行安裝,由於是msi檔案,如果需要.NET元件請自行下載進行安裝

go語言實現類似java8的Stream

4.4 代碼 歸納 Go語言 浮點 print jdk 是我 遞歸 JDK8 Stream 是一個支持泛型和函數式數據流,使用起來非常強大方便。最近在學習 go 語言我就用 go 模仿了一下類似的功能,由於 go 對泛型、函數式的支持比較有限,感覺泛型和函數式這一塊實現起來

c語言實現一個簡單的通訊錄

通訊錄的c語言實現原始碼 簡單通訊錄的實現還是包括三個原始檔,test.c(實現通訊錄主邏輯),txl.c(實現用到的各個函式),txl.h(存放txl中用到的各種標頭檔案與宣告)。 txl.h #ifndef __TXL_H__//**txl.h** #defi

Go語言實現selpg指令

一、selpg指令簡介 selpg 是一個自定義命令列程式,全稱select page,即從源(標準輸入流或檔案)讀取指定頁數的內容到目的地(標準輸出流或給給印表機列印)。selpg 是以在 Linux 中建立命令的事實上的約定為模型建立的,這些約定包括: 獨立工作 在

2000行程式碼go語言實現的比特幣基本的相關模型功能

|版權宣告:本文為博主原創文章,未經博主允許不得轉載。部落格地址:https://blog.csdn.net/sgsgy5 前言:閒暇時期,參考了一些資料,用go簡單的實現了比特幣中的一些相關功能,實現完全大概2000行程式碼左右,現在剛利用閒暇時間寫了一點小

C語言實現一個鍵值對結構demo

主要思路是有兩個指標陣列,一個為key,一個為value,用索引一一對應實現一個key對應一個value。包括了增加和刪除,控制檯列印方法,現在仍有些指標指向記憶體類的bug需注意。這個程式嚴格來說還算不上雜湊。 #include<stdio.h>

go 語言實現一個簡單的 web 伺服器

學習Go語言的一些感受,不一定準確。假如發生戰爭,JAVA一般都是充當航母戰鬥群的角色。一旦出動,就是護衛艦、巡洋艦、航母艦載機、預警機、電子戰飛機、潛艇等等浩浩蕩蕩,殺將過去。(JVM,數十個JAR包,Tomcat中介軟體,SSH框架,各種配置檔案...天生就是重量級的,

c語言實現 一個通訊錄(實現 增加、刪除、查詢、修改、顯示、清空功能)

源程式標頭檔案contact.h #ifndef _CONTACT_H__ #define _CONTACT_H__ #define NAME_MAX 20 #define SEX_MAX 5 #define TELE_MAX 15 #define ADDR_MAX 5

綜合例項:C語言實現一個自定義的shell程式

      一個shell需要實現若干功能,比如解釋執行命令,支援輸入輸出重定向,支援管道,後臺執行程式等。首先對要實現的功能做一個簡要介紹:       (1)輸出重定向:就是把執行某命令後的結果輸出到某個檔案。例如: ls -al > list.txt  

【二分查詢】C語言實現一個有序陣列的二分查詢

什麼是二分查詢? 首先,二分查詢也叫折半查詢,它是對於一組有序(升序或降序)數列來說的,我們舉例子說明這個思想。 例如:猜數字遊戲 隨機給出1-100內的一個數字,請猜出這個數字 那我們不能隨機沒有規律的去猜,這時考慮二分查詢的思想 例如38 第一次

c語言實現一個strcat函式功能相同的函式

extern char *strcat(char *dest,char *src); 把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0')並新增'\0'。 #include "std

c語言實現一個自己的atof()函式

用c語言實現atof()函式,將字元分解用乘法和除法實現轉換,程式碼如下 ****************************************************************************************************

C語言實現一個通訊錄

實現一個通訊錄; 通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括: 姓名、性別、年齡、電話、住址 提供方法: 1.    新增聯絡人資訊 2.    刪除指定聯絡人資訊 3.    查詢指定聯絡人資訊 4.    修改指定聯絡人資訊 5.    顯示所有聯絡人資訊

go語言一個簡單的登入,大家不妨來看一下

現在的網站可以說登入註冊幾乎就是首要的,所以今天就給大家來一個簡約版的登入吧 先來給大家看一下效果吧 有些過分簡潔,大家別見怪啊 接下來是成功的效果 我只是提供一個思路和方法至於美化,大家隨意 接下來是失敗的效果 接下來就是程式碼了 前

GO語言實現一個簡單的網頁爬蟲

具體思路是利用go語言提供的遠端包github.com/PuerkitoBio/goquery,但是有時候連結會出錯,導致程式編譯不通過,我們可以直接將這個包下載到本地,然後將import匯入地址修改為本地的goquery地址即可首先建立檔案,儲存從網頁上扒下來的內容接下來使

C語言實現一個日曆顯示

#include <stdio.h> #include <stdlib.h> #define SIGN_WEEK 6 #define SIGN_YEAR 2000 int month_day[14]={31,31,0,31,30,31,30,31,3

Go語言實現區塊鏈與加密貨幣(3臺計算機通過區域網模擬3個節點通訊)

本文要實現3臺計算機通過區域網模擬3個節點通訊。(windows環境下) 這是在上一步的基礎上修改而來的。 三個節點所扮演的角色分別是:中心節點、錢包節點、礦工節點 首先3臺計算機要通過區域網連線在一起(可以通過wifi等方式)。 注意要把各自的防火牆關掉。 可以用ping命令測試,互相間的

C語言一個簡單的三子棋,實現玩家與電腦的對戰

原始碼: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> #include <time.h> /* 用 C 寫一個三子棋 */ //邏輯: //1. 畫

C語言實現一個連結串列刪除指定的一個或多個元素

#include<stdio.h> #include<stdlib.h> typedef struct node{ int data; struct node *next; }LinkList; //建立一個連結串列  LinkL