diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..65e1b25 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM alpine as build + +ENV RUSTFLAGS="-C target-feature=-crt-static" +WORKDIR /usr/src/saysthbot +COPY . . +RUN apk add --no-cache rustup openssl-dev build-base && rustup-init -y --default-toolchain nightly && source ${HOME}/.cargo/env && cargo build --release + +FROM alpine + +RUN apk add --no-cache ca-certificates openssl libgcc +ENV TGBOT_TOKEN="" DATABASE_URI="" WRAPPER="" +CMD ["-c", "${WRAPPER} ./hangitbot ${OPTIONS}"] +ENTRYPOINT [ "/bin/sh" ] + +COPY --from=build /usr/src/saysthbot/target/release/hangitbot ./ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1a9e55d --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2023-2024 SenseT and others + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index e69de29..9b92309 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,43 @@ +# Hangitbot + +A boring bot for hanging your boss up. + +```usage +hangitbot 0.1.0 +A boring bot for hanging your boss up. + +USAGE: + hangitbot [OPTIONS] --tgbot-token + +OPTIONS: + -d, --database-uri + Database URI [env: DATABASE_URI=] [default: + sqlite:///saysthbot.db] + + -D, --debug + Enable debug mode + + -h, --help + Print help information + + -t, --tgbot-token + Telegram bot token [env: TGBOT_TOKEN=] + + -V, --version + Print version information +``` + +## build + +You should use `nightly` build kit. + +```bash +rustup default nightly +cargo build +``` + +Or simply use docker. + +```bash +docker build -t bot . +```