Skip to content

Commit db70e83

Browse files
author
hi-hi-ray
committed
🙋 Iniciando o repositório em Python
1 parent 7d04d92 commit db70e83

7 files changed

Lines changed: 258 additions & 114 deletions

File tree

README.md

Lines changed: 1 addition & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,2 @@
1-
# PythonRio-Bot
2-
3-
Esse Readme é um pouco tutorial/como eu o criei.
4-
5-
O bot que está em ruby, foi criado em um linux (Fedora), por isso haverá alguns comandos de um terminal linux.
6-
7-
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
8-
9-
------------------------------------------------------------------------------------------------------------------------------
10-
Primeira coisa a se fazer, Baixar e Instalar o telegram-bot-ruby:
11-
12-
$ sudo gem install telegram-bot-ruby
13-
14-
OU você pode adicionar ao seu gemfile com :
15-
16-
$ gem 'telegram-bot-ruby'
17-
18-
------------------------------------------------------------------------------------------------------------------------------
19-
Segunda coisa a se fazer, Criar o seu bot no telegram:
20-
21-
No telegram, vá em procure pelo o BotFather(@BotFather)
22-
O BotFather ele tem função de teajudar a criar um Bot.
23-
24-
Comece com /start
25-
Ele mostrará inúmeras opções, mas vamos usar /newbot
26-
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.
27-
28-
Se nada estiver sendo utilizado, seu bot estará criado, e você terá um HTTP API token.
29-
Mas antes de utilizarmos ele, vamos dar uma caractéristicas para ele, como descrição, imagem e o about text.
30-
31-
Descrição:
32-
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
33-
Escreva uma descrição sobre o seu bot.
34-
35-
About Text:
36-
O about text é o texto que fica no perfil do bot, você pode criar com o comando /setabouttext
37-
Agora só escrever um about text.
38-
39-
Imagem:
40-
A imagem pode ser colocada pelo o comoando /setuserpic
41-
Ele irá solicitar uma imagem, é só enviar uma imagem.
42-
43-
Todas essas configurações demoram alguns minutos ṕara ser sincronizadas, e podem ser mudadas sempre que você quiser.
44-
45-
------------------------------------------------------------------------------------------------------------------------------
46-
Terceira coisa a se fazer, Decidir o que o seu bot irá fazer:
47-
48-
No nosso caso o bot, ele responde a partir de um comando.E suas respostas são mensagens fixas.
49-
Parar dizemos quais são esses comandos, no telegram,em @BotFather digite o comando /setcommands
50-
Selecione o seu bot, e depois digite o comando e o que ele faz, exemplo:
51-
52-
dog - diz woof
53-
cat - diz meow
54-
55-
O.B.S.: cada vez que vc executa esse comando, ele apaga os comandos anteriores.
56-
57-
------------------------------------------------------------------------------------------------------------------------------
58-
Quarta Coisa a se fazer, Criar um arquivo ruby (Se quiser pode colar do nosso repositorio):
59-
60-
A estrutura inicial é algo parecido como isso:
61-
62-
require 'telegram/bot'
63-
token = 'seu TOKEN [Caso você não saiba seu token, o @BotFather tem um comando que mostra o token do seu bot /token]'
64-
Telegram::Bot::Client.run(token) do |bot|
65-
bot.listen do |message|
66-
case message.text
67-
when '/dog'
68-
bot.api.send_message(chat_id: message.chat.id, text:"woof")
69-
when '/cat'
70-
bot.api.send_message(chat_id: message.chat.id, text:"meow")
71-
end
72-
end
73-
end
74-
75-
O.B.S.: Se seu bot for adicionado em um grupo os seus comando são mudados, por isso você deve cobrir essa possibilidade.
76-
Exemplo:
77-
78-
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.
79-
80-
Então para solucionar esse problema, dentro do case basta criar when que cubra esse comando.
81-
então temos um
82-
when '/help'
83-
e outro
84-
when '/help@PythonRio_Bot'
85-
assim tornando possivel usar o seu bot em um grupo.
86-
87-
Salve o seu arquivo ruby.
88-
89-
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:
90-
91-
encoding: UTF-8
92-
coding: UTF-8
93-
-*- coding: UTF-8 -*-
94-
95-
------------------------------------------------------------------------------------------------------------------------------
96-
Quinta Coisa a se fazer, rodar o seu arquivo ruby no terminal:
97-
98-
$ ruby arquivoRuby.rb
99-
100-
Agora o seu bot estará respondendo.
101-
102-
------------------------------------------------------------------------------------------------------------------------------
103-
Em breve : rodando ele eternamente sem precisar deixar o seu computador ligado (Talvez Heroku)
104-
105-
------------------------------------------------------------------------------------------------------------------------------
106-
Links Uteis
107-
108-
+ Comando que podem ser usado (no nosso bot, usamos o bot.api.send_message)
109-
https://core.telegram.org/bots/api
110-
111-
+ Linguagens que pode ser feito um bot
112-
https://core.telegram.org/bots/samples
113-
114-
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
1+
# PythonRio Bot
1152

Ruby/Gemfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# PythonRio-bot-all gem file
2+
source "https://rubygems.org"
3+
4+
ruby '1.9.3'
5+
6+
# gem "rails"
7+
gem 'telegram-bot-ruby', '~> 0.5.0.beta4'

Ruby/Gemfile.lock

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
axiom-types (0.1.1)
5+
descendants_tracker (~> 0.0.4)
6+
ice_nine (~> 0.11.0)
7+
thread_safe (~> 0.3, >= 0.3.1)
8+
coercible (1.0.0)
9+
descendants_tracker (~> 0.0.1)
10+
descendants_tracker (0.0.4)
11+
thread_safe (~> 0.3, >= 0.3.1)
12+
equalizer (0.0.11)
13+
faraday (0.9.2)
14+
multipart-post (>= 1.2, < 3)
15+
google_places (0.32.0)
16+
httparty (~> 0.13.1)
17+
httparty (0.13.7)
18+
json (~> 1.8)
19+
multi_xml (>= 0.5.2)
20+
ice_nine (0.11.2)
21+
json (1.8.3)
22+
multi_xml (0.5.5)
23+
multipart-post (2.0.0)
24+
telegram-bot-ruby (0.5.0)
25+
faraday
26+
virtus
27+
thread_safe (0.3.5)
28+
virtus (1.0.5)
29+
axiom-types (~> 0.1)
30+
coercible (~> 1.0)
31+
descendants_tracker (~> 0.0, >= 0.0.3)
32+
equalizer (~> 0.0, >= 0.0.9)
33+
PLATFORMS
34+
ruby
35+
36+
DEPENDENCIES
37+
telegram-bot-ruby (~> 0.5.0.beta4)
38+
BUNDLED WITH
39+
1.11.2

Ruby/Procfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
bot: ruby PythonRio-bot-all.rb
2+

Ruby/PythonRio-bot-all.rb

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# encoding: UTF-8
2+
# coding: UTF-8
3+
# -*- coding: UTF-8 -*-
4+
5+
require 'telegram/bot'
6+
token = '239201720:AAFA16ppUfKeuwtuwr2JjriHNRgDcEipdbw'
7+
8+
Telegram::Bot::Client.run(token) do |bot|
9+
bot.listen do |message|
10+
case message.text
11+
when '/start'
12+
bot.api.send_message(chat_id: message.chat.id, text: "Força Python!")
13+
when '/start@PythonRio_Bot'
14+
bot.api.send_message(chat_id: message.chat.id, text: "Força Python!")
15+
when '/evento'
16+
bot.api.send_message(chat_id: message.chat.id, text: "Prezados,
17+
Dia 27 de Agosto de 2016 vai rolar XII Encontro da @pythonrio. Submeta sua proposta de palestra até dia 20/08/2016 pelo speakerfight http://speakerfight.com/events/xii-encontro-python-rio/
18+
Ainda estamos definindo o local e, assim que soubermos, liberamos em nossa Fan Page os links para a inscrição.
19+
20+
Grande abraço!
21+
#forcapython")
22+
23+
when '/evento@PythonRio_Bot'
24+
bot.api.send_message(chat_id: message.chat.id, text: "Prezados,
25+
Dia 27 de Agosto de 2016 vai rolar XII Encontro da @pythonrio. Submeta sua proposta de palestra até dia 20/08/2016 pelo speakerfight http://speakerfight.com/events/xii-encontro-python-rio/
26+
Ainda estamos definindo o local e, assim que soubermos, liberamos em nossa Fan Page os links para a inscrição.
27+
28+
Grande abraço!
29+
#forcapython")
30+
31+
when '/regras'
32+
bot.api.send_message(chat_id: message.chat.id, text: "Não farás Pyratarias. Temos um clube do livro, confira em link.
33+
Não ofenderás o Coleguinha, Não aceitamos discriminação de qualquer tipo.
34+
Não mandarás nudes, Somos pythonistas só nos excitamos com código.
35+
Nao mandarás porno, mesmo que the internet is for porn
36+
Não me invocarás de 1 em 1 minuto.
37+
Falarás do PythonRio para os coleguinhas.")
38+
39+
when '/regras@PythonRio_Bot'
40+
bot.api.send_message(chat_id: message.chat.id, text: "Não farás Pyratarias. Temos um clube do livro, confira em link.
41+
Não ofenderás o Coleguinha, Não aceitamos discriminação de qualquer tipo.
42+
Não mandarás nudes, Somos pythonistas só nos excitamos com código.
43+
Nao mandarás porno, mesmo que the internet is for porn.
44+
Não me invocarás de 1 em 1 minuto.
45+
Falarás do PythonRio para os coleguinhas.")
46+
47+
when '/help'
48+
bot.api.send_message(chat_id: message.chat.id, text: "Olá! A forma mais correta de me usar a / sem o @PythonRio_Bot:
49+
/start - Digo Força Python!
50+
/evento - Situação Atual do evento.
51+
/regras - Falo as regras do grupo.
52+
/link - Falo os links.
53+
/help - Digo os comandos.")
54+
when '/link'
55+
bot.api.send_message(chat_id: message.chat.id, text: "Facebook = https://www.facebook.com/pythonrio
56+
Twitter = https://www.twitter.com/pythonrio
57+
Telegram = https://telegram.me/joinchat/AONs_ANlfCZRoXOX0QxEzA
58+
YouTube = https://www.youtube.com/channel/UCGl4xDZYUYGg4_aMah32yjQ
59+
Clube do Livro = https://trello.com/invite/b/k75OyRBC/1e822b1c6b177f4cc501c39aa9a64e44/clube-do-livro-pythonrio")
60+
when '/help@PythonRio_Bot'
61+
bot.api.send_message(chat_id: message.chat.id, text: "Olá! A forma mais correta de me usar a / sem o @PythonRio_Bot:
62+
/start - Digo Força Python!
63+
/evento - Situação Atual do evento.
64+
/regras - Falo as regras do grupo.
65+
/link - Falo os links.
66+
/help - Digo os comandos.")
67+
when '/link@PythonRio_Bot'
68+
bot.api.send_message(chat_id: message.chat.id, text: "Facebook = https://www.facebook.com/pythonrio
69+
Twitter = https://www.twitter.com/pythonrio
70+
Telegram = https://telegram.me/joinchat/AONs_ANlfCZRoXOX0QxEzA
71+
YouTube = https://www.youtube.com/channel/UCGl4xDZYUYGg4_aMah32yjQ
72+
Clube do Livro = https://trello.com/invite/b/k75OyRBC/1e822b1c6b177f4cc501c39aa9a64e44/clube-do-livro-pythonrio")
73+
end
74+
end
75+
end

Ruby/README.md

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# PythonRio-Bot
2+
3+
Esse Readme é um pouco tutorial/como eu o criei.
4+
5+
O bot que está em ruby, foi criado em um linux (Fedora), por isso haverá alguns comandos de um terminal linux.
6+
7+
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
8+
9+
------------------------------------------------------------------------------------------------------------------------------
10+
Primeira coisa a se fazer, Baixar e Instalar o telegram-bot-ruby:
11+
12+
$ sudo gem install telegram-bot-ruby
13+
14+
OU você pode adicionar ao seu gemfile com :
15+
16+
$ gem 'telegram-bot-ruby'
17+
18+
------------------------------------------------------------------------------------------------------------------------------
19+
Segunda coisa a se fazer, Criar o seu bot no telegram:
20+
21+
No telegram, vá em procure pelo o BotFather(@BotFather)
22+
O BotFather ele tem função de teajudar a criar um Bot.
23+
24+
Comece com /start
25+
Ele mostrará inúmeras opções, mas vamos usar /newbot
26+
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.
27+
28+
Se nada estiver sendo utilizado, seu bot estará criado, e você terá um HTTP API token.
29+
Mas antes de utilizarmos ele, vamos dar uma caractéristicas para ele, como descrição, imagem e o about text.
30+
31+
Descrição:
32+
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
33+
Escreva uma descrição sobre o seu bot.
34+
35+
About Text:
36+
O about text é o texto que fica no perfil do bot, você pode criar com o comando /setabouttext
37+
Agora só escrever um about text.
38+
39+
Imagem:
40+
A imagem pode ser colocada pelo o comoando /setuserpic
41+
Ele irá solicitar uma imagem, é só enviar uma imagem.
42+
43+
Todas essas configurações demoram alguns minutos ṕara ser sincronizadas, e podem ser mudadas sempre que você quiser.
44+
45+
------------------------------------------------------------------------------------------------------------------------------
46+
Terceira coisa a se fazer, Decidir o que o seu bot irá fazer:
47+
48+
No nosso caso o bot, ele responde a partir de um comando.E suas respostas são mensagens fixas.
49+
Parar dizemos quais são esses comandos, no telegram,em @BotFather digite o comando /setcommands
50+
Selecione o seu bot, e depois digite o comando e o que ele faz, exemplo:
51+
52+
dog - diz woof
53+
cat - diz meow
54+
55+
O.B.S.: cada vez que vc executa esse comando, ele apaga os comandos anteriores.
56+
57+
------------------------------------------------------------------------------------------------------------------------------
58+
Quarta Coisa a se fazer, Criar um arquivo ruby (Se quiser pode colar do nosso repositorio):
59+
60+
A estrutura inicial é algo parecido como isso:
61+
62+
require 'telegram/bot'
63+
token = 'seu TOKEN [Caso você não saiba seu token, o @BotFather tem um comando que mostra o token do seu bot /token]'
64+
Telegram::Bot::Client.run(token) do |bot|
65+
bot.listen do |message|
66+
case message.text
67+
when '/dog'
68+
bot.api.send_message(chat_id: message.chat.id, text:"woof")
69+
when '/cat'
70+
bot.api.send_message(chat_id: message.chat.id, text:"meow")
71+
end
72+
end
73+
end
74+
75+
O.B.S.: Se seu bot for adicionado em um grupo os seus comando são mudados, por isso você deve cobrir essa possibilidade.
76+
Exemplo:
77+
78+
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.
79+
80+
Então para solucionar esse problema, dentro do case basta criar when que cubra esse comando.
81+
então temos um
82+
when '/help'
83+
e outro
84+
when '/help@PythonRio_Bot'
85+
assim tornando possivel usar o seu bot em um grupo.
86+
87+
Salve o seu arquivo ruby.
88+
89+
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:
90+
91+
encoding: UTF-8
92+
coding: UTF-8
93+
-*- coding: UTF-8 -*-
94+
95+
------------------------------------------------------------------------------------------------------------------------------
96+
Quinta Coisa a se fazer, rodar o seu arquivo ruby no terminal:
97+
98+
$ ruby arquivoRuby.rb
99+
100+
Agora o seu bot estará respondendo.
101+
102+
------------------------------------------------------------------------------------------------------------------------------
103+
Dando deploy do seu Bot no Heroku (Com Interface)
104+
Crie um arquivo chamado Procfile, nele escreva:
105+
106+
bot: ruby Nome_Do_Seu_Arquivo_em_Ruby.rb
107+
108+
Save esse arquivo. Agora vamos entrar no Heroku (https://www.heroku.com/), entre no seu perfil.
109+
-Clique no botão "New".
110+
-Escolha a opção "Create a new app".
111+
-Digite o nome do seu App, e escolha o Runtime de sua preferência.
112+
-Você vai ser direcionado diretamente para a aba de deploy.
113+
*Nessa aba, em Deployment method, eu utilizei o GitHub como opção.
114+
*Nele eu entrei com a minha conta e dei as permissões necessárias para o repositório do bot.
115+
*Procurei o repositório do bot, e depois cliquei "connect".
116+
*Em "Automatic deploys" escolhi a branch master, marquei a opção "Wait for CI to pass before deploy" e cliquei no botão "Enable Automatic Deploys".
117+
*E para finalizar em Manual Deploy, selecionei a branch master e cliquei em "Deploy Branch".
118+
-Na aba Activity você pode ver o log do seu bot.
119+
------------------------------------------------------------------------------------------------------------------------------
120+
Links Uteis
121+
122+
+ Comando que podem ser usado (no nosso bot, usamos o bot.api.send_message)
123+
https://core.telegram.org/bots/api
124+
125+
+ Linguagens que pode ser feito um bot
126+
https://core.telegram.org/bots/samples
127+
128+
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
129+

python/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# PythonRio-Bot
2+
3+
Esse Readme é um pouco tutorial/como eu o criei.
4+
5+
Vamos começar?

0 commit comments

Comments
 (0)