Giter VIP home page Giter VIP logo

gotgbot's Introduction

Go Telegram Bot

This library is WIP; it does not currently support all of the telegram api methods.

This library attempts to create a user-friendly wrapper around the telegram bot api.

Heavily inspired by the python-telegram-bot library, this aims to create a simple way to manage a concurrent and scalable bot.

Getting started

Install it as you would install your usual go library: go get github.com/PaulSonOfLars/gotgbot

A sample bot can be found in sampleBot/. This bot covers the basics of adding a command, a filter, and a regex handler.

An interesting feature to take note of is that due to go's handling of exceptions, if you choose not to handle an exception, your bot will simply keep on going happily and ignore any issues.

All handlers are async; they're all executed in their own go routine, so can communicate accross channels if needed. The reason for the error return for the methods is to allow for passing gotgbot.ContinueGroups{} or gotgbot.EndGroups{}; which will determine whether or not to keep handling methods in that handler group, or stop handling further groups entirely.

Message sending

As seen in the example, message sending can be done in two ways; via each received message's ReplyText() function, or by building your own; and calling msg.Send(). This allows for ease of use by having the most commonly used shortcuts readily available, while retaining the flexibility of building each message yourself, which wouldnt be available otherwise.

gotgbot's People

Contributors

paulsonoflars avatar shabier avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.