Harigami
ログイン
anonymous タイトルなし
Python
# -*- coding:utf-8 -*-
import csv
import datetime
import re

#datetimeの使い方
#print(datetime.date(2017,11,12))
# => 2017-11-12

#機能<--Projective Todo-->
#個人用のtodoの作成、削除、表示ができる
#リーダー(0番)のみプロジェクト用のtodoリストの作成、削除ができる
#リーダー以外はプロジェクトTodoの表示のみ

#csvファイルの名前=>"todo.csv"


#データを保持するクラス
class TodoInfo:
    def __init__(self,todo,deadline):
        #TodoInfoクラスを初期化する
        #引数のselfはあまり考えなくて良い
        #self移行が引数となる
        #self.todoなどはクラス変数
        self.todo = todo
        #データ保持用の辞書
        self.deadline = deadline

    def toFormattedString(self,key):
        """todoリストを表示するための書式設定"""
        print('todo:',end="")
        print(self.todo)
        print('\tkey:',end="")
        print(key)
        print('\tdeadline:',end="")
        print(self.deadline)

#アプリケーションを動かすクラス
class TodoManager:
    def __init__(self,fileName):
        #TodoManagerクラスを初期化する
        self.fileName = fileName
        self.todo_data = {}

    def setup(self):
        """メンバーIDの入力とcsvからの読み込み"""
        #従業員Noを入力する
        #リーダーは0番
        while True:
            self.member = input("メンバーID(0-9):")
            if not self.member.isdigit():
                #数字でないなら
                print("不正な値です")
                continue
            else:
                if 0 <= int(self.member) and int(self.member) <= 9:
                    break
                else:
                    print("不正な値です")
                    continue
        #csvファイルからデータを読み込む
        #todo.csvを読み込みモードで開く
        try:
            f = open(self.fileName,"rt")
        except FileNotFoundError:
            f = open(self.fileName,"wt")
            header_writer = csv.writer(f,lineterminator = '\n')
            header_list = ['key','todo','year','month','day']
            header_writer.writerow(header_list)
            f.close()
            f = open(self.fileName,"rt")

        lines = f.readlines()
        reader = csv.reader(lines)
        #1行読み飛ばす
        header = next(reader)

        #lineは配列として読み込まれるので、インデックスでそれぞれ代入
        for line in reader:
            #リストから対応する変数に代入
            key, todo, year, month, day = line
            deadline = datetime.date(int(year),int(month),int(day))
            self.todo_data[key] = TodoInfo(todo,deadline)
        #ファイルを閉じる
        f.close()


    def listProjectData(self):
        """プロジェクトTodoを表示する"""
        #プロジェクトtodoを表示する
        print("-------------------------------------------")
        print('<-- Project Todo -->')
        #検索用パターンの設定
        search_key = '^Pro'
        while True:
            #ヒット件数
            count = 0
            #検索処理
            for key in self.todo_data.keys():
                m = re.findall(search_key,key)
                if m:
                    count += 1
                    #TodoInfoクラスのtoFormattedString()を利用する
                    self.todo_data[key].toFormattedString(key)

            #削除する処理
            #countが0以上かつリーダー(0番)なら
            if count > 0 and self.member == '0':
                print("-------------------------------------------")
                print('削除したいリストのキーを選択してください(q to cancel):',end="")
                delete_key = input().strip()
                if delete_key == 'q':
                    break
                else:
                    self.deleteData(delete_key)
            else:
                break

    def listIndiData(self):
        """個人Todoを表示する"""
        #個人todoを表示する
        print("-------------------------------------------")
        print('<-- Indivisual Todo -->')
        #検索用パターンの設定
        search_key = 'Ind..{0:s}'.format(self.member)
        while True:
            #ヒット件数
            count = 0

            #検索処理
            for key in self.todo_data.keys():
                m = re.findall(search_key,key)
                if m:
                    count += 1
                    #TodoInfoクラスのtoFormattedString()を利用する
                    self.todo_data[key].toFormattedString(key)

            #削除する処理
            if count > 0:
                print("-------------------------------------------")
                print('削除したいリストのキーを選択してください(q to cancel):',end="")
                delete_key = input().strip()
                if delete_key == 'q':
                    break
                else:
                    #deleteData()のあとはまた繰り返し
                    self.deleteData(delete_key)
            else:
                break

    def addToIndivisual(self):
        """個人Todoに追加する"""
        print("-------------------------------------------")
        #個人todoリストへ追加する
        #項目名、期日の入力を求める
        #キーは関数で生成する
        key = self.makeKey('Ind')
        #todoの入力
        print("todo:",end="")
        todo = input().strip()
        print("年:",end="")
        year = input().strip()
        print("月:",end="")
        month = input().strip()
        print("日:",end="")
        day = input().strip()
        #deadlineは日付で処理
        deadline = datetime.date(int(year),int(month),int(day))
        self.todo_data[key] = TodoInfo(todo,deadline)

    def addToProject(self):
        """プロジェクトTodoに追加する"""
        print("-------------------------------------------")
        #プロジェクトtodoへ追加する
        #リーダー(0番)でなければ追加できない
        if self.member != '0':
            print("warning:あなたはリーダーではありません")
        else:
            #項目名、期日の入力を求める
            #キーは関数で生成する
            key = self.makeKey('Pro')
            #todoの入力
            print("todo:",end="")
            todo = input().strip()
            print("年:",end="")
            year = input().strip()
            print("月:",end="")
            month = input().strip()
            print("日:",end="")
            day = input().strip()
            #deadlineは日付で処理
            deadline = datetime.date(int(year),int(month),int(day))
            self.todo_data[key] = TodoInfo(todo,deadline)

    def deleteData(self,key):
        """引数のkeyをkeys()から削除する"""
        #todoリストのデータを削除する
        #keyが辞書に存在しなければキャンセルする
        if not key in self.todo_data.keys():
            print("No such list")
        else:
            removed_value = self.todo_data.pop(key)
            print("以下のリストを削除しました")
            print('todo:',removed_value.todo)
            print('deadline:',removed_value.deadline)

    def saveToCsv(self):
        #docstring
        """todoリストをcsvへ保存する"""
        #todo.csvを書き込みモードで開く
        f = open("todo.csv","w")

        #ヘッダ書き込み用writer
        header_writer = csv.writer(f,lineterminator = '\n')
        #内容書き込み用writer
        #lineterminator で改行する
        writer = csv.writer(f,lineterminator = '\n')

        #ヘッダ書き込み
        header_list = ['key','todo','year','month','day']
        header_writer.writerow(header_list)

        #keys()で辞書のキー一覧を取得
        for key in self.todo_data.keys():
            #csv書き込み用の配列
            #key,todo,year,month,day
            a = [key, self.todo_data[key].todo, self.todo_data[key].deadline.year, self.todo_data[key].deadline.month, self.todo_data[key].deadline.day]
            #書き込む
            writer.writerow(a)
        f.close()
        print("saving completed.")

    def makeKey(self,type):
        #docstring
        """キーをプログラム側で決定する関数"""
        #ランダム関数を生成する
        import random
        #'Ind'のとき
        if type == 'Ind':
            #0-99の間のランダムな整数を取得する
            while True:
                #重複がなくなるまで繰り返すが、これではtodoリストが増えたときにおそくなってしまう
                randint = random.randint(0,99)
                key = '{0:s}{1:02d}{2:s}'.format(type,randint,self.member)
                if key in self.todo_data.keys():
                    #作成したkeyが既に存在するなら
                    continue
                else:
                    return key

        #'Pro'のとき
        elif type == 'Pro':
            while True:
                randint = random.randint(0,99)
                key = '{0:s}{1:02d}'.format(type,randint)
                if key in self.todo_data.keys():
                    #作成したkeyが既に存在するなら
                    continue
                else:
                    return key


    def run(self):
        #機能選択画面を表示する
        while True:
            print("-------------------------------------------")
            print("あなたのメンバーID:< {0:s} >".format(self.member))
            print("1.個人のtodoリストに追加する")
            print("2.個人のtodoリストを表示する")
            print("3.プロジェクトのtodoリストに追加する")
            print("4.プロジェクトのtodoリストを表示する")
            print("8.csvファイルに保存する({0:s})".format(self.fileName))
            print("9.終了")
            print("番号を選んでください(1,2,3,4,8,9):",end="")
            num = input().strip()
            if num == '1':
                self.addToIndivisual()
            elif num == '2':
                self.listIndiData()
            elif num == '3':
                self.addToProject()
            elif num == '4':
                self.listProjectData()
            elif num == '8':
                self.saveToCsv()
            elif num == '9':
                break
            else:
                #選択待ち画面に戻る
                continue

#ここからアプリケーションを動かす本体
todo_manager = TodoManager("todo.csv")

todo_manager.setup()
todo_manager.run()
  • 0
  • 1
anonymous タイトルなし
Python
# -*- coding:utf-8 -*-
import csv
import datetime
import re

#datetimeの使い方
#print(datetime.date(2017,11,12))
# => 2017-11-12

#機能<--Projective Todo-->
#個人用のtodoの作成、削除、表示ができる
#リーダー(0番)のみプロジェクト用のtodoリストの作成、削除ができる
#リーダー以外はプロジェクトTodoの表示のみ

#csvファイルの名前=>"todo.csv"


#データを保持するクラス
class TodoInfo:
    def __init__(self,todo,deadline):
        #TodoInfoクラスを初期化する
        #引数のselfはあまり考えなくて良い
        #self移行が引数となる
        #self.todoなどはクラス変数
        self.todo = todo
        #データ保持用の辞書
        self.deadline = deadline

    def toFormattedString(self,key):
        """todoリストを表示するための書式設定"""
        print('todo:',end="")
        print(self.todo)
        print('\tkey:',end="")
        print(key)
        print('\tdeadline:',end="")
        print(self.deadline)

#アプリケーションを動かすクラス
class TodoManager:
    def __init__(self,fileName):
        #TodoManagerクラスを初期化する
        self.fileName = fileName
        self.todo_data = {}

    def setup(self):
        """メンバーIDの入力とcsvからの読み込み"""
        #従業員Noを入力する
        #リーダーは0番
        while True:
            self.member = input("メンバーID(0-9):")
            if not self.member.isdigit():
                #数字でないなら
                print("不正な値です")
                continue
            else:
                if 0 <= int(self.member) and int(self.member) <= 9:
                    break
                else:
                    print("不正な値です")
                    continue
        #csvファイルからデータを読み込む
        #todo.csvを読み込みモードで開く
        f = open(self.fileName,"r")
        lines = f.readlines()
        reader = csv.reader(lines)
        #1行読み飛ばす
        header = next(reader)

        #lineは配列として読み込まれるので、インデックスでそれぞれ代入
        for line in reader:
            #リストから対応する変数に代入
            key, todo, year, month, day = line
            deadline = datetime.date(int(year),int(month),int(day))
            self.todo_data[key] = TodoInfo(todo,deadline)
        #ファイルを閉じる
        f.close()


    def listProjectData(self):
        """プロジェクトTodoを表示する"""
        #プロジェクトtodoを表示する
        print("-------------------------------------------")
        print('<-- Project Todo -->')
        #検索用パターンの設定
        search_key = '^Pro'
        while True:
            #ヒット件数
            count = 0
            #検索処理
            for key in self.todo_data.keys():
                m = re.findall(search_key,key)
                if m:
                    count += 1
                    #TodoInfoクラスのtoFormattedString()を利用する
                    self.todo_data[key].toFormattedString(key)

            #削除する処理
            #countが0以上かつリーダー(0番)なら
            if count > 0 and self.member == '0':
                print("-------------------------------------------")
                print('削除したいリストのキーを選択してください(q to cancel):',end="")
                delete_key = input().strip()
                if delete_key == 'q':
                    break
                else:
                    self.deleteData(delete_key)
            else:
                break

    def listIndiData(self):
        """個人Todoを表示する"""
        #個人todoを表示する
        print("-------------------------------------------")
        print('<-- Indivisual Todo -->')
        #検索用パターンの設定
        search_key = 'Ind..{0:s}'.format(self.member)
        while True:
            #ヒット件数
            count = 0

            #検索処理
            for key in self.todo_data.keys():
                m = re.findall(search_key,key)
                if m:
                    count += 1
                    #TodoInfoクラスのtoFormattedString()を利用する
                    self.todo_data[key].toFormattedString(key)

            #削除する処理
            if count > 0:
                print("-------------------------------------------")
                print('削除したいリストのキーを選択してください(q to cancel):',end="")
                delete_key = input().strip()
                if delete_key == 'q':
                    break
                else:
                    #deleteData()のあとはまた繰り返し
                    self.deleteData(delete_key)
            else:
                break

    def addToIndivisual(self):
        """個人Todoに追加する"""
        print("-------------------------------------------")
        #個人todoリストへ追加する
        #項目名、期日の入力を求める
        #キーは関数で生成する

    def addToProject(self):
        """プロジェクトTodoに追加する"""
        print("-------------------------------------------")
        #プロジェクトtodoへ追加する
        #リーダー(0番)でなければ追加できない
        #項目名、期日の入力を求める
        #キーは関数で生成する

    def deleteData(self,key):
        """引数のkeyをkeys()から削除する"""
        #todoリストのデータを削除する
        #keyが辞書に存在しなければキャンセルする
        if not key in self.todo_data.keys():
            print("No such list")
        else:
            removed_value = self.todo_data.pop(key)
            print("以下のリストを削除しました")
            print('todo:',removed_value.todo)
            print('deadline:',removed_value.deadline)

    def saveToCsv(self):
        #docstring
        """todoリストをcsvへ保存する"""
        #todo.csvを書き込みモードで開く
        f = open("todo.csv","w")

        #ヘッダ書き込み用writer
        header_writer = csv.writer(f,lineterminator = '\n')
        #内容書き込み用writer
        #lineterminator で改行する
        writer = csv.writer(f,lineterminator = '\n')

        #ヘッダ書き込み
        header_list = ['key','todo','year','month','day']
        header_writer.writerow(header_list)

        #keys()で辞書のキー一覧を取得
        for key in self.todo_data.keys():
            #csv書き込み用の配列
            #key,todo,year,month,day
            a = [key, self.todo_data[key].todo, self.todo_data[key].deadline.year, self.todo_data[key].deadline.month, self.todo_data[key].deadline.day]
            #書き込む
            writer.writerow(a)
        f.close()
        print("saving completed.")

    def makeKey(self,type):
        #docstring
        """キーをプログラム側で決定する関数"""
        #ランダム関数を生成するモジュール
        import random
        #'Ind'のとき
        if type == 'Ind':
            #0-99の間のランダムな整数を取得する
            while True:
                #重複がなくなるまで繰り返すが、これではtodoリストが増えたときにおそくなってしまう
                randint = random.randint(0,99)
                key = '{0:s}{1:02d}{2:s}'.format(type,randint,self.member)
                if key in self.todo_data.keys():
                    #作成したkeyが既に存在するなら
                    continue
                else:
                    return key

        #'Pro'のとき
        elif type == 'Pro':
            while True:
                randint = random.randint(0,99)
                key = '{0:s}{1:02d}'.format(type,randint)
                if key in self.todo_data.keys():
                    #作成したkeyが既に存在するなら
                    continue
                else:
                    return key


    def run(self):
        #機能選択画面を表示する
        while True:
            print("-------------------------------------------")
            print("あなたのメンバーID:< {0:s} >".format(self.member))
            print("1.個人のtodoリストに追加する")
            print("2.個人のtodoリストを表示する")
            print("3.プロジェクトのtodoリストに追加する")
            print("4.プロジェクトのtodoリストを表示する")
            print("8.csvファイルに保存する({0:s})".format(self.fileName))
            print("9.終了")
            print("番号を選んでください(1,2,3,4,8,9):",end="")
            num = input().strip()
            if num == '1':
                self.addToIndivisual()
            elif num == '2':
                self.listIndiData()
            elif num == '3':
                self.addToProject()
            elif num == '4':
                self.listProjectData()
            elif num == '8':
                self.saveToCsv()
            elif num == '9':
                break
            else:
                #選択待ち画面に戻る
                continue

#ここからアプリケーションを動かす本体
todo_manager = TodoManager("todo.csv")

todo_manager.setup()
todo_manager.run()
  • 0
  • 0
anonymous タイトルなし
Python
# -*- coding:utf-8 -*-
import csv
import datetime
import re

#datetimeの使い方
#print(datetime.date(2017,11,12))
# => 2017-11-12

#機能<--Projective Todo-->
#個人用のtodoの作成、削除、表示ができる
#リーダー(0番)のみプロジェクト用のtodoリストの作成、削除ができる
#リーダー以外はプロジェクトTodoの表示のみ

#csvファイルの名前=>"todo.csv"


#データを保持するクラス
class TodoInfo:
    def __init__(self,todo,deadline):
        #TodoInfoクラスを初期化する
        #引数のselfはあまり考えなくて良い
        #self移行が引数となる
        #self.todoなどはクラス変数
        self.todo = todo
        #データ保持用の辞書
        self.deadline = deadline

    def toFormattedString(self,key):
        """todoリストを表示するための書式設定"""
        print('todo:',end="")
        print(self.todo)
        print('\tkey:',end="")
        print(key)
        print('\tdeadline:',end="")
        print(self.deadline)

#アプリケーションを動かすクラス
class TodoManager:
    def __init__(self,fileName):
        #TodoManagerクラスを初期化する
        self.fileName = fileName
        self.todo_data = {}

    def setup(self):
        """メンバーIDの入力とcsvからの読み込み"""
        #従業員Noを入力する
        #リーダーは0番
        while True:
            self.member = input("メンバーID(0-9):")
            if not self.member.isdigit():
                #数字でないなら
                print("不正な値です")
                continue
            else:
                if 0 <= int(self.member) and int(self.member) <= 9:
                    break
                else:
                    print("不正な値です")
                    continue
        #csvファイルからデータを読み込む
        #todo.csvを読み込みモードで開く
        f = open(self.fileName,"r")
        lines = f.readlines()
        reader = csv.reader(lines)
        #1行読み飛ばす
        header = next(reader)

        #lineは配列として読み込まれるので、インデックスでそれぞれ代入
        for line in reader:
            #リストから対応する変数に代入
            key, todo, year, month, day = line
            deadline = datetime.date(int(year),int(month),int(day))
            self.todo_data[key] = TodoInfo(todo,deadline)
        #ファイルを閉じる
        f.close()


    def listProjectData(self):
        """プロジェクトTodoを表示する"""
        #プロジェクトtodoを表示する
        print("-------------------------------------------")
        print('<-- Project Todo -->')
        #検索用パターンの設定
        search_key = '^Pro'
        while True:
            #ヒット件数
            count = 0
            #検索処理
            for key in self.todo_data.keys():
                m = re.findall(search_key,key)
                if m:
                    count += 1
                    #TodoInfoクラスのtoFormattedString()を利用する
                    self.todo_data[key].toFormattedString(key)

            #削除する処理
            #countが0以上かつリーダー(0番)なら
            if count > 0 and self.member == '0':
                print("-------------------------------------------")
                print('削除したいリストのキーを選択してください(q to cancel):',end="")
                delete_key = input().strip()
                if delete_key == 'q':
                    break
                else:
                    self.deleteData(delete_key)
            else:
                break

    def listIndiData(self):
        """個人Todoを表示する"""
        #個人todoを表示する
        print("-------------------------------------------")
        print('<-- Indivisual Todo -->')
        #検索用パターンの設定
        search_key = 'Ind..{0:s}'.format(self.member)
        while True:
            #ヒット件数
            count = 0

            #検索処理
            for key in self.todo_data.keys():
                m = re.findall(search_key,key)
                if m:
                    count += 1
                    #TodoInfoクラスのtoFormattedString()を利用する
                    self.todo_data[key].toFormattedString(key)

            #削除する処理
            if count > 0:
                print("-------------------------------------------")
                print('削除したいリストのキーを選択してください(q to cancel):',end="")
                delete_key = input().strip()
                if delete_key == 'q':
                    break
                else:
                    #deleteData()のあとはまた繰り返し
                    self.deleteData(delete_key)
            else:
                break

    def addToIndivisual(self):
        """個人Todoに追加する"""
        print("-------------------------------------------")
        #個人todoリストへ追加する
        #項目名、期日の入力を求める
        #キーは関数で生成する
        key = self.makeKey('Ind')
        #todoの入力
        print("todo:",end="")
        todo = input().strip()
        print("年:",end="")
        year = input().strip()
        print("月:",end="")
        month = input().strip()
        print("日:",end="")
        day = input().strip()
        #deadlineは日付で処理
        deadline = datetime.date(int(year),int(month),int(day))
        self.todo_data[key] = TodoInfo(todo,deadline)

    def addToProject(self):
        """プロジェクトTodoに追加する"""
        print("-------------------------------------------")
        #プロジェクトtodoへ追加する
        #リーダー(0番)でなければ追加できない
        if self.member != '0':
            print("warning:あなたはリーダーではありません")
        else:
            #項目名、期日の入力を求める
            #キーは関数で生成する
            key = self.makeKey('Pro')
            #todoの入力
            print("todo:",end="")
            todo = input().strip()
            print("年:",end="")
            year = input().strip()
            print("月:",end="")
            month = input().strip()
            print("日:",end="")
            day = input().strip()
            #deadlineは日付で処理
            deadline = datetime.date(int(year),int(month),int(day))
            self.todo_data[key] = TodoInfo(todo,deadline)

    def deleteData(self,key):
        """引数のkeyをkeys()から削除する"""
        #todoリストのデータを削除する
        #keyが辞書に存在しなければキャンセルする
        if not key in self.todo_data.keys():
            print("No such list")
        else:
            removed_value = self.todo_data.pop(key)
            print("以下のリストを削除しました")
            print('todo:',removed_value.todo)
            print('deadline:',removed_value.deadline)

    def saveToCsv(self):
        #docstring
        """todoリストをcsvへ保存する"""
        #todo.csvを書き込みモードで開く
        f = open("todo.csv","w")

        #ヘッダ書き込み用writer
        header_writer = csv.writer(f,lineterminator = '\n')
        #内容書き込み用writer
        #lineterminator で改行する
        writer = csv.writer(f,lineterminator = '\n')

        #ヘッダ書き込み
        header_list = ['key','todo','year','month','day']
        header_writer.writerow(header_list)

        #keys()で辞書のキー一覧を取得
        for key in self.todo_data.keys():
            #csv書き込み用の配列
            #key,todo,year,month,day
            a = [key, self.todo_data[key].todo, self.todo_data[key].deadline.year, self.todo_data[key].deadline.month, self.todo_data[key].deadline.day]
            #書き込む
            writer.writerow(a)
        f.close()
        print("saving completed.")

    def makeKey(self,type):
        #docstring
        """キーをプログラム側で決定する関数"""
        import random
        #'Ind'のとき
        if type == 'Ind':
            #0-99の間のランダムな整数を取得する
            while True:
                #重複がなくなるまで繰り返すが、これではtodoリストが増えたときにおそくなってしまう
                randint = random.randint(0,99)
                key = '{0:s}{1:02d}{2:s}'.format(type,randint,self.member)
                if key in self.todo_data.keys():
                    #作成したkeyが既に存在するなら
                    continue
                else:
                    return key

        #'Pro'のとき
        elif type == 'Pro':
            while True:
                randint = random.randint(0,99)
                key = '{0:s}{1:02d}'.format(type,randint)
                if key in self.todo_data.keys():
                    #作成したkeyが既に存在するなら
                    continue
                else:
                    return key


    def run(self):
        #機能選択画面を表示する
        while True:
            print("-------------------------------------------")
            print("あなたのメンバーID:< {0:s} >".format(self.member))
            print("1.個人のtodoリストに追加する")
            print("2.個人のtodoリストを表示する")
            print("3.プロジェクトのtodoリストに追加する")
            print("4.プロジェクトのtodoリストを表示する")
            print("8.csvファイルに保存する({0:s})".format(self.fileName))
            print("9.終了")
            print("番号を選んでください(1,2,3,4,8,9):",end="")
            num = input().strip()
            if num == '1':
                self.addToIndivisual()
            elif num == '2':
                self.listIndiData()
            elif num == '3':
                self.addToProject()
            elif num == '4':
                self.listProjectData()
            elif num == '8':
                self.saveToCsv()
            elif num == '9':
                break
            else:
                #選択待ち画面に戻る
                continue

#ここからアプリケーションを動かす本体
todo_manager = TodoManager("todo.csv")

todo_manager.setup()
todo_manager.run()
  • 0
  • 0
anonymous タイトルなし
Python
  • 0
  • 0
Seiwell タイトルなし
Python
import discord
import re
import asyncio

client = discord.Client()

#起動時に動作する処理
@client.event
async def on_ready():
    print('起動しました')
    print(client.user.name)
    print(client.user.id)
    print('------')
    CHANNEL_ID = #channel_ID
    channel = client.get_channel(CHANNEL_ID)
    await channel.send('>>> Botが正常に起動しました。\n`/help`でコマンドの種類を見ることができます。')

#本処理
@client.event
async def on_message(message):
#指定した名前のチャンネル
    if message.author.bot:
        return
#指定した名前のチャンネルを指定したカテゴリに作成
    if message.content.startswith('/ch '):
        category = discord.utils.get(message.guild.categories, name='USERCATEGORY')
        category = message.guild.get_channel(category.id)
        name = message.content.split()[1] 
        new_channel = await category.create_text_channel(name)
        reply = f'{new_channel.mention} を作成しました'
        await message.channel.send(reply)
#指定した名前のチャンネルを削除
    if message.content.startswith('/deletech'):
        category = discord.utils.get(message.guild.categories, name='USERCATEGORY')
        category = message.guild.get_channel(category.id)
        name = message.content.split()[1] #チャンネル名を取得
        channel = discord.utils.get(category.text_channels,name=name) #チャンネルを名前から取得
        reply = f'{channel}を削除しました'
        await message.channel.send(reply)
        await channel.delete() #削除

#すべてのメッセージを削除する
    if message.content == '/cleanup':
        if message.author.guild_permissions.administrator:
            await message.channel.purge()
            await message.channel.send('>>> すべてのメッセージを削除しました。')
        else:
            await message.channel.send('>>> 管理者権限がないためこの機能は使用できません。')

#help
    if message.content == "/help":
        page_count = 0 #ヘルプの現在表示しているページ数
        page_content_list = ["ヘルプコマンドです。\n➡を押すと次のページへ\nこのサーバーの使い方\n基本的な会話は、<#651383585655357453>でお願いします。", #<#>にchannel_IDを入力
            "ヘルプコマンド2ページ目です。\n➡で次のページ\n⬅で前のページ",
            "ヘルプコマンド最後のページです。\n⬅で前のページ"] #ヘルプの各ページ内容
        
        send_message = await message.channel.send(page_content_list[0]) #最初のページ投稿
        await send_message.add_reaction("➡")

        def help_react_check(reaction,user):
            '''
            ヘルプに対する、ヘルプリクエスト者本人からのリアクションかをチェックする
            '''
            emoji = str(reaction.emoji)
            if reaction.message.id != send_message.id:
                return 0
            if emoji == "➡" or emoji == "⬅":
                if user != message.author:
                    return 0
                else:
                    return 1

        while not client.is_closed():
            try:
                reaction,user = await client.wait_for('reaction_add',check=help_react_check,timeout=40.0)
            except asyncio.TimeoutError:
                return #時間制限が来たら、それ以降は処理しない
            else:
                emoji = str(reaction.emoji)
                if emoji == "➡" and page_count < 2:
                    page_count += 1
                if emoji == "⬅" and page_count > 0:
                    page_count -= 1

                await send_message.clear_reactions() #事前に消去する
                await send_message.edit(content=page_content_list[page_count])

                if page_count == 0:
                    await send_message.add_reaction("➡")
                elif page_count == 1:
                    await send_message.add_reaction("⬅")
                    await send_message.add_reaction("➡")
                elif page_count == 2:
                    await send_message.add_reaction("⬅")
                    #各ページごとに必要なリアクション


client.run("TOKEN")
  • 0
  • 1
anonymous タイトルなし
Python
Option Explicit


Sub csvダウンロード()

 Dim i As Long
 For i = 1 To 5
 
 Dim rgActiveCell As Range
 Set rgActiveCell = ActiveCell
 Dim objInpTxt As HTMLInputTextElement
 Dim s As String
 Dim x As String
 
 s = Worksheets("抽出").Range("I1").Value
 x = Worksheets("抽出").Range("I2").Value
 
 'IE起動
 Dim objIE As InternetExplorer
 Set objIE = New InternetExplorer
 Dim objTag As Object
 
 
 '表示位置とサイズを調整する
 objIE.FullScreen = False
 objIE.Top = 0 '左上 上位置
 objIE.Left = 0 '左上 左位置
 objIE.Width = 940 '横幅
 objIE.Height = 1050 '高さ

 
 
 'サイトを表示
 objIE.Visible = True
 objIE.Navigate ""Do While objIE.Busy = True Or objIE.readyState <READYSTATE_COMPLETE
 DoEvents
 Loop
 
 
 
 '検索キーワードの設定?
 Dim htmlDoc As HTMLDocument 'HTMLドキュメントオブジェクトを準備
 Set htmlDoc = objIE.document 'objIEで読み込まれているHTMLドキュメントをセット
 '申込IDを選択
 objIE.document.getElementsByName("contract")(1).Click
 objIE.document.getElementById("contractId").Value = rgActiveCell 'id検索
 '日付を選択
 Set objInpTxt = objIE.document.getElementsByName("startDate")(0)
 
 With htmlDoc
 .getElementById("startDate").Value = s
 .getElementById("endDate").Value = x
 .getElementById("view").Click
 End With
 

 'もしダウンロードボタンがあればクリック、なければウィンドウを閉じる

'保存先を指定して名前を付けて保存

'IE終了
 objIE.Quit
 
 
 '一つ下のセルへ移動してクリック
 ActiveCell.Offset(1, 0).Activate
 
 '指定時間動作を停止
Dim waitTime As Variant
waitTime = Now + TimeValue("0:00:5") '5秒停止
Application.Wait waitTime

 Next i
 
 
 MsgBox "完了"End Sub
  • 0
  • 1
anonymous タイトルなし
Python
Hello 
I invite you to my team, I work with the administrators of the company directly. 
- GUARANTEED high interest on Deposit rates 
- instant automatic payments 
- multi-level affiliate program 
If you want to be a successful person write: 
Telegram: @Tom_proinvest 
Skype: live:.cid.18b402177db5105c             Thomas Anderson 
 
http://bit.ly/34sqlwS
  • 0
  • 0
anonymous タイトルなし
Python
初めまして。TGR Projectの久保と申します。 
 
2020年3月オープン予定の世界最大級のオンラインパチスロ”TGR LAND PROJECT”オーナー権販売のご案内にてご連絡させて頂きました。 
 
TGR LANDとはJTS CONSULTINGが構築するリアルな仮想空間でPlay可能なパチンコゲームです。 
 
パチンコやスロット台の一台一台に利権が用意されており、プレイ時に支払われる所定の手数料をオーナー様にリース料として支払われる仕組みになっております。 
 
ユーザーは世界中の店舗等に置かれているQRコードを通じてログインをしてゲームをPlayが可能となり、台の利権を持ったオーナー様の台がPlayされる度に収益を得る事システムです。 
 
今回はそのプロジェクト第一弾という事で、完全招待制となりますが限定15,000台を99,800円にて販売させて頂きます。 
 
2020年3月スタート予定のこのプロジェクトは稼働開始以降、オーナー様は永続的に収益を得続ける事が可能となります。 
 
またアフィリエイター様も必見です。 
こちらの紹介URLか紹介コードを入れて無料登録を行って頂く事でアフィリエイトコードが発行され、収益を獲得する事が可能です。 
 
無料アフィリエイト登録はこちら→https://tgrland.club/referral/GHRFNePhGAwsR2Mecoqw 
 
アフィリエイター様はサイトやSNS、メディアなどで拡散して頂き、オーナー登録者が出るとその台の権利の一部を報酬として受け取る事が可能です。 
 
■収益モデル 
①スポンサーボーナス  5% 
スポンサーボーナスはあなたが直接紹介した方が契約になると払われるボーナスです。 
 
②ユニレベルコミッション  18% 
あなたが直接紹介した方が登録になり、その方がさらに登録が続いた場合に 最大10段階まで支払われるボーナスです。 
 
③クリスマスボーナス  15% 
クリスマスボーナスは6スター以上に支払われるシェアリングボーナスです。 
 
※いずれも2020年4月1日より出金可能 
 
詳しい報酬につきましては下記PDFをご覧下さい。 
https://40.gigafile.nu/1212-ba0392f355f7ce183525ba02f98ac40a3 
ダウンロード期限:2019年12月12日(木) 
 
————————————————————————————— 
※※完全招待制。お申し込みは下記コードを必ずご入力下さい。※※ 
紹介コード : GHRFNePhGAwsR2Mecoqw 
 
◾️サービス概要 
https://tgrland.club/front/personal 
 
◾️CM動画 
https://youtu.be/bKzzW5mMVdE 
 
◾️お申し込みフォーム 
https://tgrland.club/referral/GHRFNePhGAwsR2Mecoqw 
————————————————————————————— 
 
JTS Consulting team 
久保寿光 
E-mail : jts.counsulting@gmail.com
  • 0
  • 0
エビです タイトルなし
Python
def heal(hps):
        for i,index in enumerate(hps):
                print("プレイヤ"+str(i+1)+"のHPが80回復した!")
        for i,index in enumerate(hps):
                print("プレイヤ"+str(i+1)+"のHP:"+str(index+80))
hps=[32,14,22,6]
for index in range(len(hps)):
        print("プレイヤ"+str(index+1)+"のHP:"+str(hps[index]))
print("僧侶はヒールを唱えた!")
heal(hps)
  • 0
  • 1
エビです タイトルなし
Python
offenses =[32,12,21,28,16,23,25,30]
print("勇者の守備力を入力して下さい")
defense =int(input("勇者の守備力:"))
for i in range(len(offenses)):
 print("スライム"+str(i+1)+"が現れた!")
print("なんとスライムたちは合体して体当りしてきた:")
sum =0
for j in range(len(offenses)):
 sum+=offenses[j]
damage =sum-defense
if (damage>0):
 print("勇者は"+str(damage)+"のダメージを受けた")
else:
 print("勇者はダメージを受け付けない!")map =[
0, 0, 0, 0, 0, 0, 0,
0, 1, 2, 0, 0, 0, 0,
0, 2, 0, 0, 2, 0, 2,
0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 2,
0, 0, 2, 1, 0, 2, 0,
0, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 2, 1, 0]
print("__________")
for i in range(0,7*9,1):
 if (map[i]==0):
  print(" ",end="")
 elif (map[i]==1):
  print("* ",end="")
 elif (map[i]==2):
  print("x ",end="")
 if((i+1)%7 ==0):
  print("")
print("__________")
print("どこを調べますか?")
x =int(input("横の座標(0~6まで):"))
y =int(input("縦の座標(0~8まで):"))
print("勇者は("+str(x)+","+str(y)+")を調べた")
if map[x+y*7]==0:
 print("しかし何も見つからなかった")
elif map[x+y*7]==1:
 print("なんと小さな宝石を見つけた")
elif map[x+y*7]==2:
 print("グールが現れた")
def heal(hps):
 for i,index in enumerate(hps):
  print("プレイヤ"+str(i+1)+"のHPが80回復した!")
 for i,index in enumerate(hps):
  print("プレイヤ"+str(i+1)+"のHP:"+str(index+80))
hps =[32,14,22,6]
for index in range(len(hps)):
 print("プレイヤ"+str(index+1)+"のHP:"+str(hps[index]))
print("僧侶はヒールを唱えた!")
heal(hps)
  • 0
  • 1
あなたもコードを投稿しませんか?
投稿する