""" | |
Purpose: | |
Interact with the OpenAI API. | |
Provide supporting prompt engineering functions. | |
""" | |
import sys | |
from dotenv import load_dotenv | |
import os | |
from typing import Any, Dict |
- Create your bot with botfather
- Make you bot an admin of your channel
- Go to https://web.telegram.org
- Click on your channel
- Look at the URL and find the part that looks like
c12112121212_17878787878787878
- Remove the underscore and after
c12112121212
I've been using [Backblaze][bbz] for a while now as my online backup service. I have used a few others in the past. None were particularly satisfactory until Backblaze came along.
It was - still is - keenly priced at a flat $5 (£4) per month for unlimited backup (I've currently got just under half a terabyte backed-up). It has a fast, reliable client. The company itself is [transparent about their operations][trans] and [generous with their knowledge sharing][blog]. To me, this says they understand their customers well. I've never had reliability problems and everything about the outfit exudes a sense of simple, quick, solid quality. The service has even saved the day on a couple of occasions where I've lost files.
Safe to say, I'm a happy customer. If you're not already using Backblaze, [I highly recommend you do][recommend].
// This is universal, works with Infura -- set provider accordingly | |
const ethers = require('ethers') | |
//const provider = ethers.getDefaultProvider('rinkeby') | |
const provider = new ethers.providers.JsonRpcProvider(process.env.WEB3_URL) | |
function hex_to_ascii(str1) { | |
var hex = str1.toString(); | |
var str = ''; | |
for (var n = 0; n < hex.length; n += 2) { |
// SPDX-License-Identifier: AGPL-3.0-or-later | |
// The ABI encoder is necessary, but older Solidity versions should work | |
pragma solidity ^0.7.0; | |
pragma experimental ABIEncoderV2; | |
// These definitions are taken from across multiple dydx contracts, and are | |
// limited to just the bare minimum necessary to make flash loans work. | |
library Types { | |
enum AssetDenomination { Wei, Par } |
// SPDX-License-Identifier: MIT | |
// Copyright (c) 2020 petejkim | |
pragma solidity 0.6.12; | |
import { Ownable } from "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/access/Ownable.sol"; | |
import { IERC20 } from "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/ERC20/IERC20.sol"; | |
import { SafeERC20 } from "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/ERC20/SafeERC20.sol"; | |
contract USDCFaucet is Ownable { |
# 0 is too far from ` ;) | |
set -g base-index 1 | |
# Automatically set window title | |
set-window-option -g automatic-rename on | |
set-option -g set-titles on | |
#set -g default-terminal screen-256color | |
set -g status-keys vi | |
set -g history-limit 10000 |