diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b8fb81a --- /dev/null +++ b/.gitignore @@ -0,0 +1,100 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# dotenv +.env + +# virtualenv +.venv +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject + +#Idea PyCharm: +.idea/* + +#Config: +*.ini \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6b085a5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,2 @@ +# PythonRio Bot + diff --git a/README.md b/README.md index 6129200..6b085a5 100644 --- a/README.md +++ b/README.md @@ -1,115 +1,2 @@ -# 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 - -+ Comando que podem ser usado (no nosso bot, usamos o bot.api.send_message) -https://core.telegram.org/bots/api - -+ Linguagens que pode ser feito um bot -https://core.telegram.org/bots/samples - -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 +# PythonRio Bot diff --git a/Ruby/Gemfile b/Ruby/Gemfile new file mode 100644 index 0000000..9d6486f --- /dev/null +++ b/Ruby/Gemfile @@ -0,0 +1,7 @@ +# PythonRio-bot-all gem file +source "https://rubygems.org" + +ruby '1.9.3' + +# gem "rails" +gem 'telegram-bot-ruby', '~> 0.5.0.beta4' diff --git a/Ruby/Gemfile.lock b/Ruby/Gemfile.lock new file mode 100644 index 0000000..12e2ea1 --- /dev/null +++ b/Ruby/Gemfile.lock @@ -0,0 +1,39 @@ +GEM + remote: https://rubygems.org/ + specs: + axiom-types (0.1.1) + descendants_tracker (~> 0.0.4) + ice_nine (~> 0.11.0) + thread_safe (~> 0.3, >= 0.3.1) + coercible (1.0.0) + descendants_tracker (~> 0.0.1) + descendants_tracker (0.0.4) + thread_safe (~> 0.3, >= 0.3.1) + equalizer (0.0.11) + faraday (0.9.2) + multipart-post (>= 1.2, < 3) + google_places (0.32.0) + httparty (~> 0.13.1) + httparty (0.13.7) + json (~> 1.8) + multi_xml (>= 0.5.2) + ice_nine (0.11.2) + json (1.8.3) + multi_xml (0.5.5) + multipart-post (2.0.0) + telegram-bot-ruby (0.5.0) + faraday + virtus + thread_safe (0.3.5) + virtus (1.0.5) + axiom-types (~> 0.1) + coercible (~> 1.0) + descendants_tracker (~> 0.0, >= 0.0.3) + equalizer (~> 0.0, >= 0.0.9) +PLATFORMS + ruby + +DEPENDENCIES + telegram-bot-ruby (~> 0.5.0.beta4) +BUNDLED WITH + 1.11.2 diff --git a/Ruby/Procfile b/Ruby/Procfile new file mode 100644 index 0000000..47229d5 --- /dev/null +++ b/Ruby/Procfile @@ -0,0 +1,2 @@ +bot: ruby PythonRio-bot-all.rb + diff --git a/PythonRio-bot-all.rb b/Ruby/PythonRio-bot-all.rb similarity index 97% rename from PythonRio-bot-all.rb rename to Ruby/PythonRio-bot-all.rb index d15a3f7..b9300ec 100644 --- a/PythonRio-bot-all.rb +++ b/Ruby/PythonRio-bot-all.rb @@ -1,75 +1,75 @@ -# encoding: UTF-8 -# coding: UTF-8 -# -*- coding: UTF-8 -*- - -require 'telegram/bot' -token = '239201720:AAFA16ppUfKeuwtuwr2JjriHNRgDcEipdbw' - -Telegram::Bot::Client.run(token) do |bot| - bot.listen do |message| - case message.text - when '/start' - bot.api.send_message(chat_id: message.chat.id, text: "Força Python!") - when '/start@PythonRio_Bot' - bot.api.send_message(chat_id: message.chat.id, text: "Força Python!") - when '/evento' - bot.api.send_message(chat_id: message.chat.id, text: "Prezados, - 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/ - Ainda estamos definindo o local e, assim que soubermos, liberamos em nossa Fan Page os links para a inscrição. - - Grande abraço! - #forcapython") - - when '/evento@PythonRio_Bot' - bot.api.send_message(chat_id: message.chat.id, text: "Prezados, - 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/ - Ainda estamos definindo o local e, assim que soubermos, liberamos em nossa Fan Page os links para a inscrição. - - Grande abraço! - #forcapython") - - when '/regras' - bot.api.send_message(chat_id: message.chat.id, text: "Não farás Pyratarias. Temos um clube do livro, confira em link. - Não ofenderás o Coleguinha, Não aceitamos discriminação de qualquer tipo. - Não mandarás nudes, Somos pythonistas só nos excitamos com código. - Nao mandarás porno, mesmo que the internet is for porn - Não me invocarás de 1 em 1 minuto. - Falarás do PythonRio para os coleguinhas.") - - when '/regras@PythonRio_Bot' - bot.api.send_message(chat_id: message.chat.id, text: "Não farás Pyratarias. Temos um clube do livro, confira em link. - Não ofenderás o Coleguinha, Não aceitamos discriminação de qualquer tipo. - Não mandarás nudes, Somos pythonistas só nos excitamos com código. - Nao mandarás porno, mesmo que the internet is for porn. - Não me invocarás de 1 em 1 minuto. - Falarás do PythonRio para os coleguinhas.") - - when '/help' - bot.api.send_message(chat_id: message.chat.id, text: "Olá! A forma mais correta de me usar a / sem o @PythonRio_Bot: - /start - Digo Força Python! - /evento - Situação Atual do evento. - /regras - Falo as regras do grupo. - /link - Falo os links. - /help - Digo os comandos.") - when '/link' - bot.api.send_message(chat_id: message.chat.id, text: "Facebook = https://www.facebook.com/pythonrio - Twitter = https://www.twitter.com/pythonrio - Telegram = https://telegram.me/joinchat/AONs_ANlfCZRoXOX0QxEzA - YouTube = https://www.youtube.com/channel/UCGl4xDZYUYGg4_aMah32yjQ - Clube do Livro = https://trello.com/invite/b/k75OyRBC/1e822b1c6b177f4cc501c39aa9a64e44/clube-do-livro-pythonrio") - when '/help@PythonRio_Bot' - bot.api.send_message(chat_id: message.chat.id, text: "Olá! A forma mais correta de me usar a / sem o @PythonRio_Bot: - /start - Digo Força Python! - /evento - Situação Atual do evento. - /regras - Falo as regras do grupo. - /link - Falo os links. - /help - Digo os comandos.") - when '/link@PythonRio_Bot' - bot.api.send_message(chat_id: message.chat.id, text: "Facebook = https://www.facebook.com/pythonrio - Twitter = https://www.twitter.com/pythonrio - Telegram = https://telegram.me/joinchat/AONs_ANlfCZRoXOX0QxEzA - YouTube = https://www.youtube.com/channel/UCGl4xDZYUYGg4_aMah32yjQ - Clube do Livro = https://trello.com/invite/b/k75OyRBC/1e822b1c6b177f4cc501c39aa9a64e44/clube-do-livro-pythonrio") - end -end -end +# encoding: UTF-8 +# coding: UTF-8 +# -*- coding: UTF-8 -*- + +require 'telegram/bot' +token = '239201720:AAFA16ppUfKeuwtuwr2JjriHNRgDcEipdbw' + +Telegram::Bot::Client.run(token) do |bot| + bot.listen do |message| + case message.text + when '/start' + bot.api.send_message(chat_id: message.chat.id, text: "Força Python!") + when '/start@PythonRio_Bot' + bot.api.send_message(chat_id: message.chat.id, text: "Força Python!") + when '/evento' + bot.api.send_message(chat_id: message.chat.id, text: "Prezados, + 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/ + Ainda estamos definindo o local e, assim que soubermos, liberamos em nossa Fan Page os links para a inscrição. + + Grande abraço! + #forcapython") + + when '/evento@PythonRio_Bot' + bot.api.send_message(chat_id: message.chat.id, text: "Prezados, + 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/ + Ainda estamos definindo o local e, assim que soubermos, liberamos em nossa Fan Page os links para a inscrição. + + Grande abraço! + #forcapython") + + when '/regras' + bot.api.send_message(chat_id: message.chat.id, text: "Não farás Pyratarias. Temos um clube do livro, confira em link. + Não ofenderás o Coleguinha, Não aceitamos discriminação de qualquer tipo. + Não mandarás nudes, Somos pythonistas só nos excitamos com código. + Nao mandarás porno, mesmo que the internet is for porn + Não me invocarás de 1 em 1 minuto. + Falarás do PythonRio para os coleguinhas.") + + when '/regras@PythonRio_Bot' + bot.api.send_message(chat_id: message.chat.id, text: "Não farás Pyratarias. Temos um clube do livro, confira em link. + Não ofenderás o Coleguinha, Não aceitamos discriminação de qualquer tipo. + Não mandarás nudes, Somos pythonistas só nos excitamos com código. + Nao mandarás porno, mesmo que the internet is for porn. + Não me invocarás de 1 em 1 minuto. + Falarás do PythonRio para os coleguinhas.") + + when '/help' + bot.api.send_message(chat_id: message.chat.id, text: "Olá! A forma mais correta de me usar a / sem o @PythonRio_Bot: + /start - Digo Força Python! + /evento - Situação Atual do evento. + /regras - Falo as regras do grupo. + /link - Falo os links. + /help - Digo os comandos.") + when '/link' + bot.api.send_message(chat_id: message.chat.id, text: "Facebook = https://www.facebook.com/pythonrio + Twitter = https://www.twitter.com/pythonrio + Telegram = https://telegram.me/joinchat/AONs_ANlfCZRoXOX0QxEzA + YouTube = https://www.youtube.com/channel/UCGl4xDZYUYGg4_aMah32yjQ + Clube do Livro = https://trello.com/invite/b/k75OyRBC/1e822b1c6b177f4cc501c39aa9a64e44/clube-do-livro-pythonrio") + when '/help@PythonRio_Bot' + bot.api.send_message(chat_id: message.chat.id, text: "Olá! A forma mais correta de me usar a / sem o @PythonRio_Bot: + /start - Digo Força Python! + /evento - Situação Atual do evento. + /regras - Falo as regras do grupo. + /link - Falo os links. + /help - Digo os comandos.") + when '/link@PythonRio_Bot' + bot.api.send_message(chat_id: message.chat.id, text: "Facebook = https://www.facebook.com/pythonrio + Twitter = https://www.twitter.com/pythonrio + Telegram = https://telegram.me/joinchat/AONs_ANlfCZRoXOX0QxEzA + YouTube = https://www.youtube.com/channel/UCGl4xDZYUYGg4_aMah32yjQ + Clube do Livro = https://trello.com/invite/b/k75OyRBC/1e822b1c6b177f4cc501c39aa9a64e44/clube-do-livro-pythonrio") + end +end +end diff --git a/Ruby/README.md b/Ruby/README.md new file mode 100644 index 0000000..4562927 --- /dev/null +++ b/Ruby/README.md @@ -0,0 +1,128 @@ +# 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. + +------------------------------------------------------------------------------------------------------------------------------ +Dando deploy do seu Bot no Heroku (Com Interface) +Crie um arquivo chamado Procfile, nele escreva: + +bot: ruby Nome_Do_Seu_Arquivo_em_Ruby.rb + +Save esse arquivo. Agora vamos entrar no Heroku (https://www.heroku.com/), entre no seu perfil. +-Clique no botão "New". +-Escolha a opção "Create a new app". +-Digite o nome do seu App, e escolha o Runtime de sua preferência. +-Você vai ser direcionado diretamente para a aba de deploy. + *Nessa aba, em Deployment method, eu utilizei o GitHub como opção. + *Nele eu entrei com a minha conta e dei as permissões necessárias para o repositório do bot. + *Procurei o repositório do bot, e depois cliquei "connect". + *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". + *E para finalizar em Manual Deploy, selecionei a branch master e cliquei em "Deploy Branch". +-Na aba Activity você pode ver o log do seu bot. +------------------------------------------------------------------------------------------------------------------------------ +Links Uteis + ++ Comando que podem ser usado (no nosso bot, usamos o bot.api.send_message) +https://core.telegram.org/bots/api + ++ Linguagens que pode ser feito um bot +https://core.telegram.org/bots/samples + +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 diff --git a/python/README.md b/python/README.md new file mode 100644 index 0000000..62f29b1 --- /dev/null +++ b/python/README.md @@ -0,0 +1,5 @@ +# PythonRio-Bot + +Esse Readme é um pouco tutorial/como eu o criei. + +Vamos começar? diff --git a/python/main.py b/python/main.py new file mode 100644 index 0000000..5f70f94 --- /dev/null +++ b/python/main.py @@ -0,0 +1,47 @@ +# -*- coding: UTF-8 -*- + +from telegram.ext import Updater, CommandHandler + +def start(update): + update.message.reply_text('Força Python!') + +def evento(update): + update.message.reply_text('Força Python!') + + +def regras(update): + update.message.reply_text('Força Python!') + + +def help(update): + update.message.reply_text('Força Python!') + + +def link(update): + update.message.reply_text('Força Python!') + + +def grupy(update): + update.message.reply_text('Força Python!') + + +def niteroi(update): + update.message.reply_text('Força Python!') + + +def pyladies(update): + update.message.reply_text('Força Python!') + +updater = Updater('YOUR TOKEN HERE') + +updater.dispatcher.add_handler(CommandHandler('start', start)) +updater.dispatcher.add_handler(CommandHandler('evento', evento)) +updater.dispatcher.add_handler(CommandHandler('regras', regras)) +updater.dispatcher.add_handler(CommandHandler('help', help)) +updater.dispatcher.add_handler(CommandHandler('link', link)) +updater.dispatcher.add_handler(CommandHandler('grupy', grupy)) +updater.dispatcher.add_handler(CommandHandler('niteroi', niteroi)) +updater.dispatcher.add_handler(CommandHandler('pyladies', pyladies)) + +updater.start_polling() +updater.idle() diff --git a/python/src/messages/eventos.py b/python/src/messages/eventos.py new file mode 100644 index 0000000..f419e18 --- /dev/null +++ b/python/src/messages/eventos.py @@ -0,0 +1,15 @@ +# -*- coding: UTF-8 -*- + + +def event_text(): + event = 'Prezados, \n' \ + 'Dia 25 de Março de 2017 vai acontencer o ' \ + 'próximo Encontro da @pythonrio, ainda não temos um local definido. \n' \ + '[Palestrantes] \n' \ + 'Em breve inscrições'\ + '[Participante] \n'\ + 'As inscrições ainda não começaram, mas assim que começar iremos Avisar. \n'\ + 'Grande abraço! \n' \ + '@pythonrio\n'\ + '#forcapython' + return event diff --git a/python/src/messages/grupy.py b/python/src/messages/grupy.py new file mode 100644 index 0000000..23f6389 --- /dev/null +++ b/python/src/messages/grupy.py @@ -0,0 +1,8 @@ +# -*- coding: UTF-8 -*- + + +def event_text(): + event = 'GruPy!!! \n' \ + 'Em breve teremos o GruPy, que ocorrerá em Nova Iguaçu. \n' \ + 'Para mais informações, fique atento: http://pythonrio.python.org.br/grupy-granderio \n' + return event diff --git a/python/src/messages/help.py b/python/src/messages/help.py new file mode 100644 index 0000000..731d1a9 --- /dev/null +++ b/python/src/messages/help.py @@ -0,0 +1,14 @@ +# -*- coding: UTF-8 -*- + + +def help_text(): + help = 'Olá! Segue os meus comandos básico: \n' \ + '/start - Digo: Força Python! \n' \ + '/evento - Situação Atual do evento do PyhtonRio. \n' \ + '/grupy - Falo sobre o GruPy. \n'\ + '/niteroi - Falo sobre o PythonRio Niteroi. \n'\ + '/pyladies - Falo sobre o Pyladies. \n'\ + '/regras - Falo as regras do grupo. \n'\ + '/link - Falo os links. \n' \ + '/help - Digo os comandos. \n' + return help diff --git a/python/src/messages/niteroi.py b/python/src/messages/niteroi.py new file mode 100644 index 0000000..3910f9e --- /dev/null +++ b/python/src/messages/niteroi.py @@ -0,0 +1,7 @@ +# -*- coding: UTF-8 -*- + + +def niteroi_text(): + niteroi = 'PythonRio Niterói!!! \n'\ + 'Ih! Já aconteceu, em breve outra mensagem aqui' + return niteroi diff --git a/python/src/messages/pyladies.py b/python/src/messages/pyladies.py new file mode 100644 index 0000000..cf6f0bb --- /dev/null +++ b/python/src/messages/pyladies.py @@ -0,0 +1,17 @@ +# -*- coding: UTF-8 -*- + + +def pyladies_text(): + pyladies = 'PyLadies! \n' \ + '[Evento] \n'\ + 'No momento não temos nenhum evento marcado, mas se quiser saber ' \ + 'algumas informações sobre o grupo, pode mander um ' \ + 'e-mail para rio@pyladies.com que sanaremos sua dúvida. \n' \ + '[Lojinha] \n' \ + 'Temos uma lojinha que surgiu da necessidade de levantar fundos, 100% do lucro ' \ + 'obtido é destinado às atividades com a comunidade, como workshops para mulheres. \n'\ + 'Caso queira nos ajudar, segue o endereço da nossa loja. \n'\ + 'Loja = http://pyladiesbrasil.iluria.com/ \n'\ + 'Site do Pyladies Brasil = http://brasil.pyladies.com/ \n'\ + + return pyladies diff --git a/python/src/messages/rules.py b/python/src/messages/rules.py new file mode 100644 index 0000000..457d28a --- /dev/null +++ b/python/src/messages/rules.py @@ -0,0 +1,15 @@ +# -*- coding: UTF-8 -*- + + +def rules_text(): + rules = 'Regras: \n' \ + 'Não farás Pyratarias. Temos um clube do livro, confira em /link, Distribua conteúdo livre. \n' \ + 'Não ofenderás o Coleguinha, Não aceitamos discriminação de qualquer tipo. \n' \ + 'Não mandarás nudes, Somos pythonistas só nos excitamos com código. \n' \ + 'Nao mandarás porno, mesmo que the internet is for porn. \n' \ + 'Não me invocarás de 1 em 1 minuto. \n' \ + 'Não pode ser fake, se descobrimos que você é um troll ou' \ + 'que está aqui para zoar, te baniremos desse reino. \n' \ + 'Evitarás mensagens que não sejam de interesse comum do grupo. \n' \ + 'Falarás do PythonRio para os coleguinhas. \n' + return rules