From ebf12e00a4dccf1621b695ecbdb0753f1e3f6052 Mon Sep 17 00:00:00 2001 From: nyanloutre Date: Wed, 27 Jun 2018 20:00:36 +0200 Subject: [PATCH] Portage NixOS --- .gitignore | 4 ++++ Dockerfile | 8 -------- Makefile | 7 ------- api_keys.env | 3 --- default.nix | 26 ++++++++++++++++++++++++++ run.py => dogetipbot_telegram.py | 29 +++++++++++++++++++++++------ setup.py | 22 ++++++++++++++++++++++ 7 files changed, 75 insertions(+), 24 deletions(-) create mode 100644 .gitignore delete mode 100644 Dockerfile delete mode 100644 Makefile delete mode 100644 api_keys.env create mode 100644 default.nix rename run.py => dogetipbot_telegram.py (90%) mode change 100644 => 100755 create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02097c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +__pycache__ +*.egg-info +result +api_keys.env diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 86f645c..0000000 --- a/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM python:alpine - -RUN apk add --no-cache gcc g++ make libffi-dev openssl-dev && \ - pip install python-telegram-bot requests block-io - -COPY run.py / - -CMD ["python", "run.py"] diff --git a/Makefile b/Makefile deleted file mode 100644 index 70d8102..0000000 --- a/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -.PHONY: build -build: - docker build -t dogetipbot . - -.PHONY: run -run: build - docker run --rm --name dogetipbot --env-file api_keys.env dogetipbot diff --git a/api_keys.env b/api_keys.env deleted file mode 100644 index d5f6e3a..0000000 --- a/api_keys.env +++ /dev/null @@ -1,3 +0,0 @@ -BLOCK_IO_API_KEY=123455678 -BLOCK_IO_PIN=12345678 -TELEGRAM_API_KEY=12345678 diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..20fcdc9 --- /dev/null +++ b/default.nix @@ -0,0 +1,26 @@ +{ pkgs ? import {} +}: + +let + inherit (pkgs) fetchgit; + inherit (blockioPkgs) python3; + + blockioPkgs = import (fetchgit { + url = "https://github.com/nyanloutre/nixpkgs.git"; + rev = "b2e5d6520e16e6188b13ee79712078b072e253f5"; + sha256 = "0gjy61vpm434fvfwb6kbgsmd9d8k7w4kk68vxikivys805h4sxd0"; + }){}; +in + +python3.pkgs.buildPythonApplication rec { + name = "dogetipbot-telegram-${version}"; + version = "1.0"; + + src = ./.; + + propagatedBuildInputs = with python3.pkgs; [ + python-telegram-bot + requests + block-io + ]; +} diff --git a/run.py b/dogetipbot_telegram.py old mode 100644 new mode 100755 similarity index 90% rename from run.py rename to dogetipbot_telegram.py index 51dd8f3..d4954f5 --- a/run.py +++ b/dogetipbot_telegram.py @@ -5,11 +5,27 @@ import logging import os import urllib.request import json +import argparse -BLOCK_IO_API_KEY = os.environ['BLOCK_IO_API_KEY'] -BLOCK_IO_PIN = os.environ['BLOCK_IO_PIN'] -TELEGRAM_API_KEY = os.environ['TELEGRAM_API_KEY'] -NETWORK = os.environ['NETWORK'] +# BLOCK_IO_API_KEY = os.environ['BLOCK_IO_API_KEY'] +# BLOCK_IO_PIN = os.environ['BLOCK_IO_PIN'] +# TELEGRAM_API_KEY = os.environ['TELEGRAM_API_KEY'] +# NETWORK = os.environ['NETWORK'] + +# Parsing arguments + +parser = argparse.ArgumentParser(description='Dogetipbot telegram') +parser.add_argument('--block-io-api-key') +parser.add_argument('--block-io-pin') +parser.add_argument('--telegram-api-key') +parser.add_argument('--network') + +args = parser.parse_args() + +BLOCK_IO_API_KEY = args.block_io_api_key +BLOCK_IO_PIN = args.block_io_pin +TELEGRAM_API_KEY = args.telegram_api_key +NETWORK = args.network # Logging @@ -216,5 +232,6 @@ dispatcher.add_handler(infos_handler) withdraw_handler = CommandHandler('withdraw', withdraw, pass_args=True) dispatcher.add_handler(withdraw_handler) -updater.start_polling() -updater.idle() +def main(): + updater.start_polling() + updater.idle() diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..dab33d1 --- /dev/null +++ b/setup.py @@ -0,0 +1,22 @@ +from setuptools import setup + +setup( + name='dogetipbot-telegram', + py_modules=['dogetipbot_telegram'], + version='1.0', + description='Telegram bot for tipping Dogecoins', + author='Paul TREHIOU', + author_email='paul@nyanlout.re', + url='https://gitea.nyanlout.re/nyanloutre/dogetipbot-telegram', + license='MIT', + entry_points={ + 'console_scripts': [ + 'dogetipbot-telegram=dogetipbot_telegram:main' + ] + }, + install_requires=[ + 'python-telegram-bot', + 'requests', + 'block-io' + ] +)