Skip to content

pythonrio/pythonrio-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

PythonRio-Bot

Esse Readme é um pouco tutorial/como eu o criei.

O bot que está em ruby, foi criado em um linux (Fedora), por isso haverá alguns comandos de um terminal linux.

OBS.: O Token do código já foi trocado, caso necessite de realizar um update no bot, mande uma mensagem para o user do github Hi-hi-ray


Primeira coisa a se fazer, Baixar e Instalar o telegram-bot-ruby:

$ sudo gem install telegram-bot-ruby

OU você pode adicionar ao seu gemfile com :

$ gem 'telegram-bot-ruby'


Segunda coisa a se fazer, Criar o seu bot no telegram:

No telegram, vá em procure pelo o BotFather(@BotFather) O BotFather ele tem função de teajudar a criar um Bot.

Comece com /start Ele mostrará inúmeras opções, mas vamos usar /newbot Então ele perguntará o nome do seu bot, e logo depois o username dele, Lembre-se que ele necessita ter bot no username dele.

Se nada estiver sendo utilizado, seu bot estará criado, e você terá um HTTP API token. Mas antes de utilizarmos ele, vamos dar uma caractéristicas para ele, como descrição, imagem e o about text.

Descrição: A descrição é a mensagem que aparece quando a pessoa vê o bot pela primeira vez, antes de inicia-lo, e pode ser dada pelo o comando /setdescription Escreva uma descrição sobre o seu bot.

About Text: O about text é o texto que fica no perfil do bot, você pode criar com o comando /setabouttext Agora só escrever um about text.

Imagem: A imagem pode ser colocada pelo o comoando /setuserpic Ele irá solicitar uma imagem, é só enviar uma imagem.

Todas essas configurações demoram alguns minutos ṕara ser sincronizadas, e podem ser mudadas sempre que você quiser.


Terceira coisa a se fazer, Decidir o que o seu bot irá fazer:

No nosso caso o bot, ele responde a partir de um comando.E suas respostas são mensagens fixas. Parar dizemos quais são esses comandos, no telegram,em @BotFather digite o comando /setcommands Selecione o seu bot, e depois digite o comando e o que ele faz, exemplo:

    dog - diz woof
    cat - diz meow

O.B.S.: cada vez que vc executa esse comando, ele apaga os comandos anteriores.


Quarta Coisa a se fazer, Criar um arquivo ruby (Se quiser pode colar do nosso repositorio):

A estrutura inicial é algo parecido como isso:

require 'telegram/bot'
token = 'seu TOKEN [Caso você não saiba seu token, o @BotFather tem um comando que mostra o token do seu bot /token]'
Telegram::Bot::Client.run(token) do |bot|
  bot.listen do |message|
    case message.text
      when '/dog'
        bot.api.send_message(chat_id: message.chat.id, text:"woof")
      when '/cat'
        bot.api.send_message(chat_id: message.chat.id, text:"meow")
    end
  end
end  

O.B.S.: Se seu bot for adicionado em um grupo os seus comando são mudados, por isso você deve cobrir essa possibilidade. Exemplo:

No PythonRio_Bot o comando em seu chat /help funcionará muito bem, mas se ele estiver em um grupo e tiver outros bots, isso poderia causar algum conflito, por isso é adicionado automaticamente.

Então para solucionar esse problema, dentro do case basta criar when que cubra esse comando. então temos um when '/help' e outro when '/help@PythonRio_Bot' assim tornando possivel usar o seu bot em um grupo.

Salve o seu arquivo ruby.

Ultima observação... Se for usar acentos não se esqueça que usamos o padrão UTF-8, e você pode utiliza-lo em seu documento ruby antes de qualquer código basta colocar de forma comentada as seguintes três linhas abaixo:

    encoding: UTF-8
    coding: UTF-8
    -*- coding: UTF-8 -*-

Quinta Coisa a se fazer, rodar o seu arquivo ruby no terminal:

$ ruby arquivoRuby.rb

Agora o seu bot estará respondendo.


Em breve : rodando ele eternamente sem precisar deixar o seu computador ligado (Talvez Heroku)


Links Uteis

Caso não tenha dado certo ou precise de ajuda, ou queira modificar esse bot (precisa do token) mande uma mensagem para https://github.com/hi-hi-ray

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages