Skip to content

Instantly share code, notes, and snippets.

View MasterGroosha's full-sized avatar

Aleksandr MasterGroosha

View GitHub Profile
@MasterGroosha
MasterGroosha / renamer.go
Created July 25, 2019 16:34
Test go files renamer with padding
package main
import (
"fmt"
"os"
"path/filepath"
)
const (
DirPath = "D:\\test"
#include <experimental/filesystem>
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
namespace fs = std::experimental::filesystem;
@MasterGroosha
MasterGroosha / discount_vs_points.py
Last active January 16, 2020 18:45
Что выгоднее: постоянная скидка или накопление и трата баллов?
from random import choice, shuffle, seed
from os import urandom
prices = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]
def prepare_data_shuffle():
"""
:return: Возвращает исходный массив prices, но перемешанный
#!/bin/bash
PYVERSION="3.8.2"
if [[ $EUID -ne 0 ]]; then
sudo apt install -y gcc build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev \
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
else
apt install -y gcc build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev \
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
@MasterGroosha
MasterGroosha / 01_request_quiz.py
Last active February 16, 2020 21:30
Куски кода к уроку 13 моего учебника по ботам для Telegram.
# Хэндлер на команду /start
@dp.message_handler(commands=["start"])
async def cmd_start(message: types.Message):
poll_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
poll_keyboard.add(types.KeyboardButton(text="Создать викторину",
request_poll=types.KeyboardButtonPollType(type=types.PollType.QUIZ)))
poll_keyboard.add(types.KeyboardButton(text="Отмена"))
await message.answer("Нажмите на кнопку ниже и создайте викторину!", reply_markup=poll_keyboard)
# Хэндлер на текстовое сообщение с текстом “Отмена”
// This is a list of your own shortcuts for Telegram Desktop
// You can see full list of commands in the 'shortcuts-default.json' file
// Place a null value instead of a command string to switch the shortcut off
[
// The two commands below are "inactive"
// {
// "command": "close_telegram",
// "keys": "ctrl+f4"
// },
// This is a piece of code how Commit and Revert (reset) are called
// m_Git is a TGitClient instance
void main() {
const auto commitMessage = "Some commit message";
std::string commitError;
if(!m_Git.MakeCommitToRepo(commitError, commitMessage)) {
std::cout << "MakeCommit returned error: " << commitError << std::endl;
}
std::cout << "Commited\n";
Здесь будут куски кода к 14-му уроку моего учебника
@MasterGroosha
MasterGroosha / whitelist.py
Created April 12, 2020 09:16 — forked from JrooTJunior/whitelist.py
Whitelist Middleware
from typing import Any, Dict, List, Set
from aiogram import types
from aiogram.dispatcher.handler import CancelHandler
from aiogram.dispatcher.middlewares import BaseMiddleware
from loguru import logger
class WhitelistMiddleware(BaseMiddleware):
def __init__(self, users: Set[int]):
###
# Telegram-казино
# Этот код позволяет понять, какие именно значения выпали в дайсе "казино" по тому, что вернул Bot API
# Авторы: @Groosha, @svinerus | 2020 год
###
from typing import List
# 0 1 2 3
casino = ["BAR", "виноград", "лимон", "семь"]